1900
InsertControlItem / UserEditor / A2X:

OBJECT g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "BackColor", 15790320);
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Chart.PaneWidth(True) = 0");
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( g2antt , "ConditionalFormats") , "Add", "1 = 1") , "Bold", -1);
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Type") , "Alignment", 2);
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "1. A ProgID such as ^"MSCAL.Calendar.7^"");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemDivider(h) = 0");
	hX = _ObjectCallMethod( items , "InsertControlItem", 0,"MSCAL.Calendar","");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,hX")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", hX)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemObject(hX).BackColor = 16777215");
	h = _ObjectCallMethod( items , "AddItem", "2. A CLSID such as ^"{0036F83C-D892-4B7B-AA0B-BEDD8D16A738}^"");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemDivider(h) = 0");
	hX = _ObjectCallMethod( items , "InsertControlItem", 0,"{0036F83C-D892-4B7B-AA0B-BEDD8D16A738}","");
	h = _ObjectCallMethod( items , "AddItem", "3. A URL such as ^"http://www.exontrol.com^"");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemDivider(h) = 0");
	hX = _ObjectCallMethod( items , "InsertControlItem", 0,"http://www.exontrol.com","");
	h = _ObjectCallMethod( items , "AddItem", "4. A reference to an Active document such as ^"file://\\Documents\MyDoc.doc^"");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemDivider(h) = 0");
	hX = _ObjectCallMethod( items , "InsertControlItem", 0,"file://C:\empesting.xml","");
	h = _ObjectCallMethod( items , "AddItem", "5.A fragment of HTML such as ^"MSHTML:<HTML><BODY>This is a line of text</BODY></HTML>^"");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemDivider(h) = 0");
	hX = _ObjectCallMethod( items , "InsertControlItem", 0,"MSHTML:<HTML><BODY>This is a <b>line of</b> text</BODY></HTML>","");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,hX")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", hX)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemHeight(hX) = 56");
	h = _ObjectCallMethod( items , "AddItem", "6.Anything, if it is preffixed by ^"A2X:^"");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemDivider(h) = 0");
	hX = _ObjectCallMethod( items , "InsertControlItem", 0,"A2X:TOC24.Toc24Ctrl.1","");
_ObjectCallMethod( g2antt , "EndUpdate");

1899
How do I add a RichTextBox editor
// UserEditorOleEvent event - Occurs when an user editor fires an event.
FUNCTION g2anttEvents_UserEditorOleEvent(OBJECT g2antt, OBJECT Object, OBJECT Ev, INT CloseEditor, INT Item, INT ColIndex)
	Message( Ev );
END

OBJECT editor,g2antt,items,richtextbox;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "DrawGridLines", -1);
_ObjectSetProperty( g2antt , "DefaultItemHeight", 32);
editor = _ObjectGetProperty( _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "RICHTEXT") , "Editor");
	_ObjectSetProperty( editor , "EditType", 16);
	_ObjectCallMethod( editor , "UserEditor", "RICHTEXT.RichtextCtrl","");
	richtextbox = _ObjectGetProperty( editor , "UserEditorObject");
		_ObjectSetProperty( richtextbox , "AutoVerbMenu", -1);
		_ObjectSetProperty( richtextbox , "TextRTF", "{\rtf1\ansi{\fonttbl\f0\fswiss Helvetica;}\f0\pard\r\nThis is some {\b bold} text.\par\r\n}");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddItem", "RICHTEXT.RichtextCtrl");
_ObjectCallMethod( g2antt , "EndUpdate");

1898
Is it possible to trap a double-click event on a specific cell and when that happens, to set the cell to a specific value
// DblClick event - Occurs when the user dblclk the left mouse button over an object.
FUNCTION g2anttEvents_DblClick(OBJECT g2antt, INT Shift, INT X, INT Y)
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim c,hit")
	_ObjectCallMethod(g2antt, "TemplatePut", c)
	_ObjectCallMethod(g2antt, "TemplatePut", hit)
	h = _ObjectCallMethod(g2antt, "ExecuteTemplate", "ItemFromPoint(-1,-1,c,hit)");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim _ObObj,c,h")
	_ObjectCallMethod(g2antt, "TemplatePut", _ObjectGetProperty( g2antt , "Items"))
	_ObjectCallMethod(g2antt, "TemplatePut", c)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	Message( _ObjectCallMethod(g2antt, "ExecuteTemplate", "_ObObj.CellValue(h,c)") );
END

OBJECT g2antt,items;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "HeaderAppearance", 4);
_ObjectSetProperty( g2antt , "DrawGridLines", -2);
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "C1");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "C2");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(AddItem(`Item 1`),1) = `Item 2`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(AddItem(`Item 3`),1) = `Item 4`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(AddItem(`Item 5`),1) = `Item 6`");
_ObjectCallMethod( g2antt , "EndUpdate");

1897
How can I display dates in DD/MM/YYYY format

OBJECT g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "ScrollBySingleLine", 0);
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Date");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemDivider(AddItem(`Different Date Formats`)) = 0");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.FormatCell(AddItem(#12/1/1971#),0) = `((shortdateF(value) mid 4) left 2) + `/` + (shortdateF (value) left 2) + `/` + (shortdateF (value) right 4)`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.FormatCell(AddItem(#12/1/1971#),0) = `(1 array (0:=(shortdateF(value) split `/`))) + `/` + (0 array (=:0) ) + `/` + (2 array (=:0) )`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.FormatCell(AddItem(#12/1/1971#),0) = `((`0` + day(value) ) right 2) + `/` + ((`0` + month(value) ) right 2) + `/` + year(value)`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.FormatCell(AddItem(#12/1/1971#),0) = `day(value) + `/` + month(value) + `/` + year(value)`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.FormatCell(AddItem(#12/1/1971#),0) = `year(value) + ` - ` + day(value) + ` - ` + month(value)`");
	h = _ObjectCallMethod( items , "AddItem", "12/1/1971");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemHeight(h) = 24");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValueFormat(h,0) = 1");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.FormatCell(h,0) = ``<b>` + year(value) + `</b><off -4> ` + day(value) + ` - ` + month(value)`");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemDivider(AddItem(`Predefined Date Formats`)) = 0");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.FormatCell(AddItem(#12/1/1971#),0) = `value`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.FormatCell(AddItem(#12/1/1971#),0) = `shortdateF(value)`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.FormatCell(AddItem(#12/1/1971#),0) = `shortdate(value)`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.FormatCell(AddItem(#12/1/1971#),0) = `longdate(value)`");
_ObjectCallMethod( g2antt , "EndUpdate");

1896
I have noticed that the column gets resized once I release the mouse. I have a column that displays multiple-lines cells, and the text gets wrapped only when user releases the mouse. Is it possible to get resized contiguously as I had before
OBJECT g2antt;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "ScrollBySingleLine", 0);
_ObjectSetProperty( g2antt , "DrawGridLines", 2);
_ObjectSetProperty( g2antt , "ColumnsAllowSizing", -1);
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Add(`Column A (cont)`).Def(64) = True");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Column 1");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Add(`Column B (cont)`).Def(64) = True");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Column 2");
_ObjectCallMethod( g2antt , "EndUpdate");

1895
How do I get the column from cursor, when it hovers the empty portion of the items section
// MouseMove event - Occurs when the user moves the mouse.
FUNCTION g2anttEvents_MouseMove(OBJECT g2antt, INT Button, INT Shift, INT X, INT Y)
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim c,hit")
	_ObjectCallMethod(g2antt, "TemplatePut", c)
	_ObjectCallMethod(g2antt, "TemplatePut", hit)
	i = _ObjectCallMethod(g2antt, "ExecuteTemplate", "ItemFromPoint(0,-1,c,hit)");
	Message( "Column" );
	Message( c );
END

OBJECT g2antt;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "DrawGridLines", 2);
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Column 0");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Column 1");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Column 2");
_ObjectCallMethod( g2antt , "EndUpdate");

1894
How do I add items once the user clicks the empty area
// Click event - Occurs when the user presses and then releases the left mouse button over the tree control.
FUNCTION g2anttEvents_Click()
	OBJECT items;
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim c,hit")
	_ObjectCallMethod(g2antt, "TemplatePut", c)
	_ObjectCallMethod(g2antt, "TemplatePut", hit)
	i = _ObjectCallMethod(g2antt, "ExecuteTemplate", "ItemFromPoint(0,-1,c,hit)");
	items = _ObjectGetProperty( g2antt , "Items");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,i")
		_ObjectCallMethod(g2antt, "TemplatePut", items)
		_ObjectCallMethod(g2antt, "TemplatePut", i)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(AddItem(i),1) = c");
END

OBJECT g2antt;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Number of Items to Add");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Click on Column");
_ObjectCallMethod( g2antt , "EndUpdate");

1893
Is there an easy way to get an effect like in a Microsoft Access / SQL-Server Table view, where you can scroll-up till the last row containing data is displayed as top-row

// AddItem event - Occurs after a new Item has been inserted to Items collection.
FUNCTION g2anttEvents_AddItem(OBJECT g2antt, INT Item)
	OBJECT items;
	items = _ObjectGetProperty( g2antt , "Items");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,Item")
		_ObjectCallMethod(g2antt, "TemplatePut", items)
		_ObjectCallMethod(g2antt, "TemplatePut", Item)
		_ObjectCallMethod( items , "AddBar", Item,"Task",_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(Item,2)"),_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(Item,4)"));
END

OBJECT chart,g2antt,rs;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "HasLines", 0);
_ObjectSetProperty( g2antt , "ColumnAutoResize", 0);
rs = CreateObject("ADOR.Recordset");
	_ObjectCallMethod( rs , "Open", "Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExG2antt\Sample\Access\misc.accdb",1,1);
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "FirstVisibleDate", "10/21/1994");
	_ObjectSetProperty( chart , "LevelCount", 2);
_ObjectSetProperty( g2antt , "DataSource", rs);
_ObjectSetProperty( g2antt , "ScrollBars", 2051);
_ObjectCallMethod(g2antt, "ExecuteTemplate", "ScrollPos(True) = Items.ItemCount");
_ObjectCallMethod( g2antt , "EndUpdate");

1892
Is there any option to stop events
// AddItem event - Occurs after a new Item has been inserted to Items collection.
FUNCTION g2anttEvents_AddItem(OBJECT g2antt, INT Item)
	Message( "AddItem event is fired only if FreezeEvents(False) is called" );
END

// AddLink event - Occurs when the user links two bars using the mouse.
FUNCTION g2anttEvents_AddLink(OBJECT g2antt, STRING LinkKey)
	Message( "AddLink event is fired only if FreezeEvents(False) is called" );
END

// BarResize event - Occurs when a bar is moved or resized.
FUNCTION g2anttEvents_BarResize(OBJECT g2antt, INT Item, VARIANT Key)
	Message( "BarResize event is fired only if FreezeEvents(False) is called" );
END

OBJECT chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "FreezeEvents", -1);
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "DefaultItemHeight", 24);
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Task");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 48");
items = _ObjectGetProperty( g2antt , "Items");
	h1 = _ObjectCallMethod( items , "AddItem", "Task 1");
	_ObjectCallMethod( items , "AddBar", h1,"Task","1/2/2001","1/4/2001","");
	h2 = _ObjectCallMethod( items , "AddItem", "Task 2");
	_ObjectCallMethod( items , "AddBar", h2,"Task","1/2/2001","1/4/2001","");
	_ObjectCallMethod( items , "AddLink", "L1",h1,"",h2,"");
	_ObjectCallMethod( items , "SchedulePDM", 0,"");
_ObjectCallMethod( g2antt , "EndUpdate");
_ObjectCallMethod( g2antt , "FreezeEvents", 0);

1891
How do I specify a more intensive color if using RenderType property

OBJECT appearance,bar,chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
appearance = _ObjectGetProperty( g2antt , "VisualAppearance");
	_ObjectSetProperty( appearance , "RenderType", -16777216);
	_ObjectCallMethod( appearance , "Add", 1,"gBFLBCJwBAEHhEJAAEhABN0GACAADACAxRDAMgBQKAAzQFAYahuGSGAAGMYxQgmFgAQhFcZQSKUOQTDKMIziYBYJhEMQyDAAUIjOKsIhkGYcZAGQBJCjWGodQLOEgwH" +
	"IERQjEyUJAGGQIHhyPYbUbGUpQHKkeRtGqgBgoKhKEouNYgAbGYIwTRsdyfDSXBpEWwbDgkNQwWTDNoRDIUQStCysaYjOpnfrUAJ1P7FdQ1NJkXRhGSSK7maapaiCSZ6" +
	"STCMj1FhVKSNJ7DQKhGpgKh/ApgYpQOK4fLNXyRBK4QAyKA6bgPFZOZbFViaXY1V5bNKrcjhHQwAyHJ4XXRdV4YRAkUT4GqiJKGSYcQhuXZWbRqO6ABhef6DRThc6jKp" +
	"FHIE4llEcojHqSZNgoIxnlgd5thsLREleL43gsYZ9BkaAYkMAgAm+CxGDWWAtiKCRfjcdRgHoHYnicUwgAIEIREAaQYkcQZUHIGRUDQJBOEYRAhDYCxGgMZAkCgdYQha" +
	"XQIAYERwQuahXggdgeG6VZ4H4IhdiIGIOB8YIiGiHZZgqYpGF4KYHiKCI+CAU5jCiTQ2g0YhEFyax4gABAEIC");
	_ObjectCallMethod( appearance , "Add", 2,"gBFLBCJwBAEHhEJAAEhABU0IQAAYAQGKQYhiAKBQAGaAoDDcMA4QwAAyjAKMEwsACEIrjKCRShyCYZRhGcTAJBMIhiGQYAChEZxVhEMgzDjIAxSJAcQRFESaAABGCQG" +
	"h+N4/S4NIi0CIsZQjCaiZ7pKA5bgMCo+UrNMixZQVCSOGChYRpCaZWpGGodQRUFbVHAlKypJKCKrEWSrDhuYAAW7XM7yBS1TzVNSuLZtaLqSroAJ1WTWMB0Ra8NzZEKf" +
	"aZACj4arKejrRDCMAggI=");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Task");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 128");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	bar = _ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Bars.Item(`Task`)");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim barObj")
		_ObjectCallMethod(g2antt, "TemplatePut", bar)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "barObj.Def(4) = 18");
		_ObjectSetProperty( bar , "Color", 16777216);
	bar = _ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Bars.Item(`Summary`)");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "barObj.Def(4) = 18");
		_ObjectSetProperty( bar , "Color", 33554432);
items = _ObjectGetProperty( g2antt , "Items");
	hSummaryJ = _ObjectCallMethod( items , "AddItem", "Summary A");
	_ObjectCallMethod( items , "AddBar", hSummaryJ,"Summary","1/2/2001","1/2/2001","J");
	hTaskJ = _ObjectCallMethod( items , "InsertItem", hSummaryJ,"","Task A.1");
	_ObjectCallMethod( items , "AddBar", hTaskJ,"Task","1/2/2001","1/5/2001","J1");
	hTaskJ = _ObjectCallMethod( items , "InsertItem", hSummaryJ,"","Task A.2");
	_ObjectCallMethod( items , "AddBar", hTaskJ,"Task","1/4/2001","1/8/2001","J2");
	_ObjectCallMethod( items , "DefineSummaryBars", hSummaryJ,"J",-1,"<*>");
	hSummaryK = _ObjectCallMethod( items , "AddItem", "Summary B");
	_ObjectCallMethod( items , "AddBar", hSummaryK,"Summary","1/2/2001","1/2/2001","K");
	hTaskK = _ObjectCallMethod( items , "InsertItem", hSummaryK,"","Task B.1");
	_ObjectCallMethod( items , "AddBar", hTaskK,"Task","1/2/2001","1/5/2001","K1");
	hTaskK = _ObjectCallMethod( items , "InsertItem", hSummaryK,"","Task B.2");
	_ObjectCallMethod( items , "AddBar", hTaskK,"Task","1/4/2001","1/8/2001","K2");
	_ObjectCallMethod( items , "DefineSummaryBars", hSummaryK,"K",-1,"<*>");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(0,`<K*>`,33) = 255");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ExpandItem(0) = True");
_ObjectCallMethod( g2antt , "EndUpdate");

1890
How can I include the child items, when a filter is applied

OBJECT columns,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "ColumnAutoResize", -1);
_ObjectSetProperty( g2antt , "ContinueColumnScroll", 0);
_ObjectSetProperty( g2antt , "MarkSearchColumn", 0);
_ObjectSetProperty( g2antt , "SearchColumnIndex", 1);
_ObjectSetProperty( g2antt , "Indent", 16);
_ObjectSetProperty( g2antt , "LinesAtRoot", -1);
_ObjectSetProperty( g2antt , "FilterBarPromptVisible", -1);
_ObjectSetProperty( g2antt , "FilterBarPromptPattern", "Nancy");
_ObjectSetProperty( g2antt , "FilterInclude", 1);
_ObjectSetProperty( _ObjectGetProperty( g2antt , "Chart") , "LevelCount", 2);
columns = _ObjectGetProperty( g2antt , "Columns");
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "Name") , "Width", 96);
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "Title") , "Width", 96);
	_ObjectCallMethod( columns , "Add", "City");
items = _ObjectGetProperty( g2antt , "Items");
	h0 = _ObjectCallMethod( items , "AddItem", "Nancy Davolio");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h0")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h0)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h0,1) = `Sales Representative`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h0,2) = `Seattle`");
	h0 = _ObjectCallMethod( items , "InsertItem", h0,"","Andrew Fuller");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h0,1) = `Vice President, Sales`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h0,2) = `Tacoma`");
	h0 = _ObjectCallMethod( items , "InsertItem", h0,"","Michael Suyama");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h0,1) = `Sales Representative`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h0,2) = `London`");
	h0 = _ObjectCallMethod( items , "AddItem", "Janet Leverling");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h0,1) = `Sales Representative`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h0,2) = `Kirkland`");
	h0 = _ObjectCallMethod( items , "InsertItem", h0,"","Margaret Peacock");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h0,1) = `Sales Representative`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h0,2) = `Redmond`");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ExpandItem(0) = True");
_ObjectCallMethod( g2antt , "ApplyFilter");
_ObjectCallMethod( g2antt , "EndUpdate");

1889
Is it possible to change the date format shown when you scroll the horizontal bar on the chart

OBJECT g2antt;

g2antt =  ObjectByName("AN1") ;
_ObjectSetProperty( _ObjectGetProperty( g2antt , "Chart") , "ToolTip", "<b>Date</b><br><%loc_ldate%>");

1888
How do I change the drop down filter icon/button (white)

OBJECT appearance,chart,column,g2antt;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
appearance = _ObjectGetProperty( g2antt , "VisualAppearance");
	_ObjectCallMethod( appearance , "Add", 2,"gBFLBCJwBAEHhEJAAEhABX8GACAADACAxSDEMQBQKAAzQFAYbhgHCGAAGQaBUgmFgAQhFcZQSKUOQTDKNYykCIRSDUJYkSZEIyjBI8ExXFqNACkGKwYgmNYiTLAcgAN" +
	"J0WBaGIZJ4gOT5fDKMoEDRRYADFCscwxJybQAqGQKKb+VgAVY/cTyBIAEQSKA0TDOQ5TSKWB4JPZQRBEbZMNBtBIUJquKaqShdQJCU5FdY3Xblez9P7AMBwLFEC4NQ8Y" +
	"NYuPhjR4dRTIMhvVAsUArFh8Zg9GZZFjmDIDT4ydBLTQwcyVIKnP5qOa6XbmPoCQDYKxZHYxPzVDa3axuL76dqCAT7XrXNy1TbNRrzQKfcJqfCbdw2YaDZLOOT3fjuI4" +
	"hhKaRzFAHJ+jYQ4xHuY4gHuGIXGeExqC8Tp6C+PoEm+G5ImycRgh0XwvDGa5rgOeoejyXwnFeQp2mkf5ClgBB9gCWIYAwfYAEKV58mkdwOggNArgOXY2EWLoDkKOA0mg" +
	"bhOGgZApgaSBIHWSYHSmbApgYThmESZYJkIeIkgeCpfliLIHgpMIcmUYYYmODAlg2SI4mWfRfGOEguDcCRjFYAJihCQhJBSDoRmONgKEcI4kFCEJhhOVYTmYnAlEAQhW" +
	"BMJYJGYWoWmWSR2F6F5lnkWAQhUAgpEieRWEuSYkjWGpmkmNhuhuZwJkYcocmaaYkjyEhngnUA6lEFAlAEgI=");
	_ObjectCallMethod( appearance , "Add", 1,"CP:2 -4 -4 2 4");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Background(0) = 16777216");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Background(32) = BackColor");
_ObjectSetProperty( g2antt , "HeaderAppearance", 0);
_ObjectSetProperty( g2antt , "BackColorHeader", 16777215);
_ObjectSetProperty( g2antt , "HeaderVisible", 1);
_ObjectSetProperty( g2antt , "HeaderHeight", 24);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Filter");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "AllowSort", 0);
	_ObjectSetProperty( column , "AllowDragging", 0);
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 196");
	_ObjectSetProperty( chart , "LevelCount", 2);
_ObjectCallMethod( g2antt , "EndUpdate");

1887
How do I prevent changing the cell's state ( check-box state )

// CellStateChanging event - Fired before cell's state is about to be changed.
FUNCTION g2anttEvents_CellStateChanging(OBJECT g2antt, INT Item, INT ColIndex, INT NewState)
	OBJECT items;
	items = _ObjectGetProperty( g2antt , "Items");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,ColIndex,Item")
		_ObjectCallMethod(g2antt, "TemplatePut", items)
		_ObjectCallMethod(g2antt, "TemplatePut", ColIndex)
		_ObjectCallMethod(g2antt, "TemplatePut", Item)
		NewState = _ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellState(Item,ColIndex)");
END

OBJECT column,g2antt,items;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "LinesAtRoot", -1);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "P1");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(g2antt, "TemplatePut", column)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(0) = True");
	_ObjectSetProperty( column , "PartialCheck", -1);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "P2");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(0) = True");
	_ObjectSetProperty( column , "PartialCheck", -1);
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Root");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 2");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
_ObjectCallMethod( g2antt , "EndUpdate");

1886
How do I change the color of the columns's header to cover all levels

OBJECT chart,column,columns,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "DrawGridLines", -1);
_ObjectSetProperty( g2antt , "BackColorLevelHeader", _ObjectGetProperty( g2antt , "BackColorHeader"));
_ObjectSetProperty( g2antt , "HeaderAppearance", 4);
_ObjectSetProperty( g2antt , "DefaultItemHeight", 36);
_ObjectSetProperty( g2antt , "TreeColumnIndex", -1);
columns = _ObjectGetProperty( g2antt , "Columns");
	column = _ObjectCallMethod( columns , "Add", "C1");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim colObj")
		_ObjectCallMethod(g2antt, "TemplatePut", column)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(0) = True");
		_ObjectSetProperty( column , "Width", 24);
		_ObjectSetProperty( column , "AllowSizing", 0);
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(48) = 3");
	column = _ObjectCallMethod( columns , "Add", "C2");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(0) = True");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(48) = 2");
	_ObjectCallMethod( columns , "Add", "Column1");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "BackColorLevelHeader", _ObjectGetProperty( g2antt , "BackColorHeader"));
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "DrawGridLines", -1);
	_ObjectSetProperty( chart , "FirstVisibleDate", "6/22/2014");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 256");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = `Cell 1.2`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,2) = `Cell 1.3`");
	_ObjectCallMethod( items , "AddBar", h,"Task","6/23/2014","6/25/2014");
	h = _ObjectCallMethod( items , "AddItem", "");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = `Cell 2.2`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,2) = `Cell 2.3`");
	_ObjectCallMethod( items , "AddBar", h,"Task","6/26/2014","6/28/2014");
_ObjectCallMethod( g2antt , "EndUpdate");

1885
Is it possible to extend the columns's header to fill all levels

OBJECT chart,column,columns,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "DrawGridLines", -1);
_ObjectSetProperty( g2antt , "HeaderVisible", 1);
_ObjectSetProperty( g2antt , "HeaderAppearance", 4);
_ObjectSetProperty( g2antt , "DefaultItemHeight", 36);
_ObjectSetProperty( g2antt , "TreeColumnIndex", -1);
columns = _ObjectGetProperty( g2antt , "Columns");
	column = _ObjectCallMethod( columns , "Add", "C1");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim colObj")
		_ObjectCallMethod(g2antt, "TemplatePut", column)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(0) = True");
		_ObjectSetProperty( column , "Width", 24);
		_ObjectSetProperty( column , "AllowSizing", 0);
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(48) = 3");
	column = _ObjectCallMethod( columns , "Add", "C2");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(0) = True");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(48) = 2");
	_ObjectCallMethod( columns , "Add", "Column1");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "BackColorLevelHeader", _ObjectGetProperty( g2antt , "BackColorHeader"));
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "DrawGridLines", -1);
	_ObjectSetProperty( chart , "FirstVisibleDate", "6/22/2014");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 256");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = `Cell 1.2`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,2) = `Cell 1.3`");
	_ObjectCallMethod( items , "AddBar", h,"Task","6/23/2014","6/25/2014");
	h = _ObjectCallMethod( items , "AddItem", "");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = `Cell 2.2`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,2) = `Cell 2.3`");
	_ObjectCallMethod( items , "AddBar", h,"Task","6/26/2014","6/28/2014");
_ObjectCallMethod( g2antt , "EndUpdate");

1884
How do I change the color of the columns's header to cover all levels (sample CRD)

OBJECT chart,column,columns,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "DrawGridLines", -1);
_ObjectSetProperty( g2antt , "BackColorLevelHeader", _ObjectGetProperty( g2antt , "BackColorHeader"));
_ObjectSetProperty( g2antt , "HeaderAppearance", 4);
_ObjectSetProperty( g2antt , "DefaultItemHeight", 36);
_ObjectSetProperty( g2antt , "TreeColumnIndex", -1);
columns = _ObjectGetProperty( g2antt , "Columns");
	column = _ObjectCallMethod( columns , "Add", "C1");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim colObj")
		_ObjectCallMethod(g2antt, "TemplatePut", column)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(0) = True");
		_ObjectSetProperty( column , "Width", 24);
		_ObjectSetProperty( column , "AllowSizing", 0);
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(48) = 3");
	column = _ObjectCallMethod( columns , "Add", "C2");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(0) = True");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(48) = 2");
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "Column1") , "Visible", 0);
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "Column2") , "Visible", 0);
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "Column3") , "Visible", 0);
	column = _ObjectCallMethod( columns , "Add", "FormatLevel");
		_ObjectSetProperty( column , "FormatLevel", "18;^"Info^"[a=17]/(2/3,4)");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(32) = `2/3,4`");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "DrawGridLines", -1);
	_ObjectSetProperty( chart , "FirstVisibleDate", "6/22/2014");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 256");
	_ObjectSetProperty( chart , "BackColorLevelHeader", _ObjectGetProperty( g2antt , "BackColorHeader"));
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = `Cell 1.2`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,2) = `Cell 1.3`");
	_ObjectCallMethod( items , "AddBar", h,"Task","6/23/2014","6/25/2014");
	h = _ObjectCallMethod( items , "AddItem", "");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = `Cell 2.2`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,2) = `Cell 2.3`");
	_ObjectCallMethod( items , "AddBar", h,"Task","6/26/2014","6/28/2014");
_ObjectCallMethod( g2antt , "EndUpdate");

1883
Is it possible to extend the columns's header to fill all levels (sample CRD)

OBJECT chart,column,columns,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "DrawGridLines", -1);
_ObjectSetProperty( g2antt , "HeaderVisible", 1);
_ObjectSetProperty( g2antt , "HeaderAppearance", 4);
_ObjectSetProperty( g2antt , "DefaultItemHeight", 36);
_ObjectSetProperty( g2antt , "TreeColumnIndex", -1);
columns = _ObjectGetProperty( g2antt , "Columns");
	column = _ObjectCallMethod( columns , "Add", "C1");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim colObj")
		_ObjectCallMethod(g2antt, "TemplatePut", column)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(0) = True");
		_ObjectSetProperty( column , "Width", 24);
		_ObjectSetProperty( column , "AllowSizing", 0);
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(48) = 3");
	column = _ObjectCallMethod( columns , "Add", "C2");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(0) = True");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(48) = 2");
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "Column1") , "Visible", 0);
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "Column2") , "Visible", 0);
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "Column3") , "Visible", 0);
	column = _ObjectCallMethod( columns , "Add", "FormatLevel");
		_ObjectSetProperty( column , "FormatLevel", "18;^"Info^"[a=17]/(2/3,4)");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(32) = `2/3,4`");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "DrawGridLines", -1);
	_ObjectSetProperty( chart , "FirstVisibleDate", "6/22/2014");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 256");
	_ObjectSetProperty( chart , "BackColorLevelHeader", _ObjectGetProperty( g2antt , "BackColorHeader"));
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = `Cell 1.2`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,2) = `Cell 1.3`");
	_ObjectCallMethod( items , "AddBar", h,"Task","6/23/2014","6/25/2014");
	h = _ObjectCallMethod( items , "AddItem", "");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = `Cell 2.2`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,2) = `Cell 2.3`");
	_ObjectCallMethod( items , "AddBar", h,"Task","6/26/2014","6/28/2014");
_ObjectCallMethod( g2antt , "EndUpdate");

1882
How do I get sorted the column as string, numeric, date, date and time. Also how can it be applied to drop down filter panel

OBJECT column,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Chart.PaneWidth(True) = 0");
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Date");
	_ObjectSetProperty( column , "SortType", 2);
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "DisplayFilterPattern", 0);
	_ObjectSetProperty( column , "DisplayFilterDate", -1);
	_ObjectSetProperty( column , "FilterList", 1296);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "DateTime");
	_ObjectSetProperty( column , "SortType", 3);
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "DisplayFilterPattern", 0);
	_ObjectSetProperty( column , "FilterList", 1296);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Time");
	_ObjectSetProperty( column , "SortType", 4);
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "DisplayFilterPattern", 0);
	_ObjectSetProperty( column , "FilterList", 1296);
	_ObjectSetProperty( column , "FormatColumn", "time(value)");
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Numeric");
	_ObjectSetProperty( column , "SortType", 1);
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterList", 1296);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "String");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterList", 1296);
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "1/27/2010");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = #1/27/2010 10:00:00 AM#");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,2) = CellValue(h,1)");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,3) = 1");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,4) = CellValue(h,3)");
	h = _ObjectCallMethod( items , "AddItem", "1/27/2011");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = #1/27/2011 9:00:00 AM#");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,2) = CellValue(h,1)");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,3) = 11");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,4) = CellValue(h,3)");
	h = _ObjectCallMethod( items , "AddItem", "11/2/2010");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = #11/2/2010 9:00:00 AM#");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,2) = CellValue(h,1)");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,3) = 2");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,4) = CellValue(h,3)");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Item(`DateTime`).DisplayFilterDate = False");
_ObjectCallMethod( g2antt , "EndUpdate");

1881
Is there a way to set the time zone per item

OBJECT chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Task");
_ObjectSetProperty( g2antt , "BackColorLevelHeader", _ObjectGetProperty( g2antt , "BackColor"));
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 48");
items = _ObjectGetProperty( g2antt , "Items");
	h1 = _ObjectCallMethod( items , "AddItem", "Task A");
	_ObjectCallMethod( items , "AddBar", h1,"","1/2/2001","1/18/2001","TZ1","Time Zone / Item");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h1")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h1)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h1,`TZ1`,29) = False");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h1,`TZ1`,7) = 255");
	_ObjectCallMethod( items , "AddBar", h1,"Task","1/20/2001","1/29/2001","Z1");
	h1 = _ObjectCallMethod( items , "AddItem", "Task B");
	_ObjectCallMethod( items , "AddBar", h1,"","1/6/2001","1/24/2001","TZ2","Time Zone / Item");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h1,`TZ2`,29) = False");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h1,`TZ2`,7) = 65535");
	_ObjectCallMethod( items , "AddBar", h1,"Task","1/3/2001","1/12/2001","Z1");
_ObjectCallMethod( g2antt , "EndUpdate");

1880
Is there a way to turn arrow-key-navigation between the items on and off
// KeyDown event - Occurs when the user presses a key while an object has the focus.
FUNCTION g2anttEvents_KeyDown(OBJECT g2antt, INT KeyCode, INT Shift)
	KeyCode = 0;
END

OBJECT bar,chart,column,g2antt,items;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Tasks");
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Effort");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(g2antt, "TemplatePut", column)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(18) = 21");
	_ObjectSetProperty( _ObjectGetProperty( column , "Editor") , "EditType", 4);
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "NonworkingDays", 0);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 96");
	_ObjectSetProperty( chart , "FirstVisibleDate", "6/20/2005");
	_ObjectSetProperty( chart , "HistogramVisible", -1);
	_ObjectSetProperty( chart , "HistogramHeight", 128);
	_ObjectSetProperty( chart , "HistogramView", 112);
	bar = _ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Bars.Item(`Task`)");
		_ObjectSetProperty( bar , "HistogramPattern", _ObjectGetProperty( bar , "Pattern"));
		_ObjectSetProperty( bar , "HistogramType", 0);
		_ObjectSetProperty( bar , "HistogramCriticalValue", 3);
		_ObjectSetProperty( bar , "ShowHistogramValues", "value>3?255:1");
		_ObjectSetProperty( bar , "HistogramItems", -11);
		_ObjectSetProperty( bar , "HistogramGridLinesColor", 12632256);
		_ObjectSetProperty( bar , "HistogramRulerLinesColor", 65536);
		_ObjectSetProperty( bar , "FormatHistogramValues", "value format `2`");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectSetProperty( items , "AllowCellValueToItemBar", -1);
	h1 = _ObjectCallMethod( items , "AddItem", "Task 1");
	_ObjectCallMethod( items , "AddBar", h1,"Task","6/21/2005","6/23/2005");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h1")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h1)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h1,1) = 6.79");
	h1 = _ObjectCallMethod( items , "AddItem", "Task 2");
	_ObjectCallMethod( items , "AddBar", h1,"Task","6/24/2005","6/26/2005");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h1,1) = 3.19");
	h1 = _ObjectCallMethod( items , "AddItem", "Task 3");
	_ObjectCallMethod( items , "AddBar", h1,"Task","6/27/2005","6/29/2005");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h1,1) = 2");
	h1 = _ObjectCallMethod( items , "AddItem", "Task 4");
	_ObjectCallMethod( items , "AddBar", h1,"Task","6/30/2005","7/2/2005");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h1,1) = 1");
_ObjectCallMethod( g2antt , "EndUpdate");

1879
I am using Layout property to sort multiple columns at once. The problem is that all items get expanded. How do I prevent that

OBJECT column,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "LinesAtRoot", -1);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "P1");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(g2antt, "TemplatePut", column)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(0) = True");
	_ObjectSetProperty( column , "PartialCheck", -1);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "P2");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(0) = True");
	_ObjectSetProperty( column , "PartialCheck", -1);
	_ObjectSetProperty( column , "FormatColumn", "1 index ``");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Root");
	_ObjectCallMethod( items , "InsertItem", h,"","Child A");
	_ObjectCallMethod( items , "InsertItem", h,"","Child B");
	_ObjectCallMethod( items , "InsertItem", h,"","Child A");
	_ObjectCallMethod( items , "InsertItem", h,"","Child B");
	_ObjectCallMethod( items , "AddItem", "Root");
	_ObjectCallMethod( items , "AddItem", "Root");
_ObjectSetProperty( g2antt , "SingleSort", 0);
_ObjectSetProperty( g2antt , "Layout", "multiplesort=^"C0:1 C1:2^";collapse=^"^"");
_ObjectCallMethod( g2antt , "EndUpdate");

1878
How can I decode the Layout property

OBJECT columns,createobject("exontrol.print"),g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
columns = _ObjectGetProperty( g2antt , "Columns");
	_ObjectCallMethod( columns , "Add", "C1");
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "C2") , "Position", 1);
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(AddItem(`SubItem 1.1`),1) = `SubItem 1.2`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(AddItem(`SubItem 2.1`),1) = `SubItem 2.2`");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Item(`C2`).SortOrder = 2");
_ObjectCallMethod( g2antt , "EndUpdate");
Message( "Encoded:" );
Message( _ObjectGetProperty( g2antt , "Layout") );
createobject("exontrol.print") = CreateObject("Exontrol.Print");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim creObj")
	_ObjectCallMethod(g2antt, "TemplatePut", createobject("exontrol.print"))
	Message( "Decoded: " );
	Message( _ObjectCallMethod(g2antt, "ExecuteTemplate", "creObj.Decode64TextW(Me.Layout)") );

1877
Is it possible to define a bar inside a bar (method 2)

OBJECT chart,g2antt,items,note,notes;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "ScrollBySingleLine", -1);
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Task");
_ObjectSetProperty( g2antt , "DrawGridLines", 1);
_ObjectSetProperty( g2antt , "BackColorLevelHeader", _ObjectGetProperty( g2antt , "BackColor"));
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "DrawGridLines", 1);
	_ObjectSetProperty( chart , "AllowCreateBar", 1);
	_ObjectSetProperty( chart , "AllowLinkBars", 0);
	_ObjectSetProperty( chart , "ResizeUnitScale", 65536);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 48");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Bars.Item(`Task`).OverlaidType = 515");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Tasks");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/3/2001","1/7/2001","A1");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/4/2001","1/8/2001","A2");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/9/2001","1/13/2001","A3");
notes = _ObjectGetProperty( _ObjectGetProperty( g2antt , "Chart") , "Notes");
	note = _ObjectCallMethod( notes , "Add", "N1",_ObjectGetProperty( _ObjectGetProperty( g2antt , "Items") , "FirstVisibleItem"),"A1","");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim notObj")
		_ObjectCallMethod(g2antt, "TemplatePut", note)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "notObj.PartText(0) = ` `");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "notObj.PartFixedWidth(0) = 18");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "notObj.PartFixedHeight(0) = 11");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "notObj.PartCanMove(0) = True");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "notObj.PartBackColor(0) = 65280");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "notObj.PartVisible(1) = False");
		_ObjectSetProperty( note , "ShowLink", 0);
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "notObj.PartVOffset(0) = 4");
_ObjectCallMethod( g2antt , "EndUpdate");

1876
Is it possible to define a bar inside a bar (method 1)

OBJECT bar,chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "ScrollBySingleLine", -1);
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Task");
_ObjectSetProperty( g2antt , "DrawGridLines", 1);
_ObjectSetProperty( g2antt , "BackColorLevelHeader", _ObjectGetProperty( g2antt , "BackColor"));
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "DrawGridLines", 1);
	_ObjectSetProperty( chart , "AllowCreateBar", 1);
	_ObjectSetProperty( chart , "AllowLinkBars", 0);
	_ObjectSetProperty( chart , "ResizeUnitScale", 65536);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 48");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	bar = _ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Bars.Item(`Task`)");
		_ObjectSetProperty( bar , "OverlaidType", 515);
		_ObjectSetProperty( bar , "OverlaidGroup", "Task,TaskB");
	bar = _ObjectCallMethod( _ObjectGetProperty( chart , "Bars") , "Add", "Aka");
		_ObjectSetProperty( bar , "Color", 65280);
		_ObjectSetProperty( bar , "Pattern", 1);
	bar = _ObjectCallMethod( _ObjectGetProperty( chart , "Bars") , "Add", "Task%Aka");
		_ObjectSetProperty( bar , "Shortcut", "TaskB");
		_ObjectSetProperty( bar , "OverlaidType", 515);
		_ObjectSetProperty( bar , "OverlaidGroup", "Task,TaskB");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Tasks");
	_ObjectCallMethod( items , "AddBar", h,"TaskB","1/3/2001","1/7/2001","A1");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`A1`,12) = 0.25");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/4/2001","1/8/2001","A2");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/9/2001","1/13/2001","A3");
_ObjectCallMethod( g2antt , "EndUpdate");

1875
How do I show the bar with a solid color, no border (method 1)

OBJECT bar,chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "ScrollBySingleLine", -1);
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Task");
_ObjectSetProperty( g2antt , "DrawGridLines", 1);
_ObjectSetProperty( g2antt , "BackColorLevelHeader", _ObjectGetProperty( g2antt , "BackColor"));
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "DrawGridLines", 1);
	_ObjectSetProperty( chart , "AllowCreateBar", 1);
	_ObjectSetProperty( chart , "AllowLinkBars", 0);
	_ObjectSetProperty( chart , "ResizeUnitScale", 65536);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 48");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	bar = _ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Bars.Item(`Task`)");
		_ObjectSetProperty( bar , "Color", 255);
		_ObjectSetProperty( bar , "Pattern", 1);
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Task");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/2/2001","1/5/2001","");
_ObjectCallMethod( g2antt , "EndUpdate");

1874
How do I show the bar with a solid color, no border (method 2)

OBJECT bar,chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "ScrollBySingleLine", -1);
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Task");
_ObjectSetProperty( g2antt , "DrawGridLines", 1);
_ObjectSetProperty( g2antt , "BackColorLevelHeader", _ObjectGetProperty( g2antt , "BackColor"));
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "DrawGridLines", 1);
	_ObjectSetProperty( chart , "AllowCreateBar", 1);
	_ObjectSetProperty( chart , "AllowLinkBars", 0);
	_ObjectSetProperty( chart , "ResizeUnitScale", 65536);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 48");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	bar = _ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Bars.Item(`Task`)");
		_ObjectSetProperty( bar , "Color", 255);
		_ObjectSetProperty( bar , "StartColor", _ObjectGetProperty( bar , "Color"));
		_ObjectSetProperty( bar , "EndColor", _ObjectGetProperty( bar , "Color"));
		_ObjectSetProperty( bar , "Pattern", 32);
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Task");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/2/2001","1/5/2001","");
_ObjectCallMethod( g2antt , "EndUpdate");

1873
How do I show the bar with a solid color, no border (method 3)

OBJECT appearance,bar,chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "ScrollBySingleLine", -1);
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Task");
_ObjectSetProperty( g2antt , "DrawGridLines", 1);
_ObjectSetProperty( g2antt , "BackColorLevelHeader", _ObjectGetProperty( g2antt , "BackColor"));
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "DrawGridLines", 1);
	_ObjectSetProperty( chart , "AllowCreateBar", 1);
	_ObjectSetProperty( chart , "AllowLinkBars", 0);
	_ObjectSetProperty( chart , "ResizeUnitScale", 65536);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 48");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
appearance = _ObjectGetProperty( g2antt , "VisualAppearance");
	_ObjectSetProperty( appearance , "RenderType", -1);
	_ObjectCallMethod( appearance , "Add", 1,"gBFLBCJwBAEHhEJAAEhABJkIQAAYAQGKQYhiAKBQAGaAoDDcMA4QwAAyDQKkEwsACEIrjKCRShyCYZRhGcTSBCIZBqEqSZLiEZRQiiCYsS5AcgPfKgAAFESNY5gSL5Y" +
	"j2IjrRDCMAggI");
bar = _ObjectCallMethod(g2antt, "ExecuteTemplate", "Chart.Bars.Item(`Task`)");
	_ObjectSetProperty( bar , "Color", 16777471);
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Task");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/2/2001","1/5/2001","");
_ObjectCallMethod( g2antt , "EndUpdate");

1872
How do I find the cell's type, or what the cell holds

OBJECT columns,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "DrawGridLines", -2);
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Chart.PaneWidth(True) = 0");
columns = _ObjectGetProperty( g2antt , "Columns");
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "Value") , "Width", 24);
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "Type") , "FormatColumn", "type(%0)");
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "TypeAsString") , "FormatColumn", "(0 := type(%0)) array (`empty`, `null`, `short`, `long`, `float`, `double`, `currency`, `date`, `string`, `object`, `error`, `b" +
	"oolean`, `variant`, `any`, `reserved`, `decimal`, `char`, `byte`, `unsigned short`, `unsigned long`, `long on 64 bits`)");
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "Length") , "FormatColumn", "len(%0)");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddItem", );
	_ObjectCallMethod( items , "AddItem", "");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(AddItem(),0) = Me");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(AddItem(),0) = True");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(AddItem(),0) = -1");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(AddItem(),0) = -1");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(AddItem(),0) = #1/1/2001#");
_ObjectCallMethod( g2antt , "EndUpdate");

1871
Is it possible to allow changing the bar's parent while bar's start/end margins should stay unchanged
// BarParentChange event - Occurs just before moving a bar from current item to another item.
FUNCTION g2anttEvents_BarParentChange(OBJECT g2antt, INT Item, VARIANT Key, INT NewItem, INT Cancel)
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim NewItem")
	_ObjectCallMethod(g2antt, "TemplatePut", NewItem)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "Items.SelectItem(NewItem) = True");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim _ObObj,NewItem")
	_ObjectCallMethod(g2antt, "TemplatePut", _ObjectGetProperty( g2antt , "Items"))
	_ObjectCallMethod(g2antt, "TemplatePut", NewItem)
	Message( "BarParentChange from " );
	Message( _ObjectCallMethod(g2antt, "ExecuteTemplate", "_ObObj.CellCaption(Item,0)") );
	Message( " to " );
	Message( _ObjectCallMethod(g2antt, "ExecuteTemplate", "_ObObj.CellCaption(NewItem,0)") );
END

OBJECT bar,chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Add(`Members`).Def(17) = 1");
_ObjectSetProperty( g2antt , "SelBackMode", 1);
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "SelBackColor", _ObjectGetProperty( g2antt , "SelBackColor"));
	_ObjectSetProperty( chart , "FirstVisibleDate", "9/20/2006");
	_ObjectSetProperty( chart , "AllowLinkBars", 0);
	_ObjectSetProperty( chart , "AllowCreateBar", 0);
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 96");
	bar = _ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Bars.Item(`Task`)");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim barObj")
		_ObjectCallMethod(g2antt, "TemplatePut", bar)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "barObj.Def(4) = 18");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "barObj.Def(10) = False");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddItem", "Member <b>1</b>");
	h = _ObjectCallMethod( items , "AddItem", "Member <b>2</b>");
	_ObjectCallMethod( items , "AddBar", h,"Task","9/21/2006","9/23/2006","T102","Task <b>102</b>");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`T102`,11) = False");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`T102`,28) = True");
	_ObjectCallMethod( items , "AddItem", "Member <b>3</b>");
	_ObjectCallMethod( items , "AddItem", "Member <b>4</b>");
_ObjectCallMethod( g2antt , "EndUpdate");

1870
Is it possible to (un)highlight the day/night shifts

// Click event - Occurs when the user presses and then releases the left mouse button over the tree control.
FUNCTION g2anttEvents_Click()
	OBJECT chart;
	chart = _ObjectGetProperty( g2antt , "Chart");
		_ObjectSetProperty( chart , "ShowNonworkingDates", 0);
		_ObjectSetProperty( chart , "ShowNonworkingHours", 0);
		_ObjectSetProperty( chart , "BackColor", 16777215);
	_ObjectCallMethod( g2antt , "Refresh");
END

OBJECT chart,g2antt;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "UnitScale", 4096);
	_ObjectSetProperty( chart , "UnitWidth", 64);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 0");
	_ObjectSetProperty( chart , "NonworkingHours", 15728895);
	_ObjectSetProperty( chart , "NonworkingHoursPattern", 1);
	_ObjectSetProperty( chart , "NonworkingDaysPattern", _ObjectGetProperty( chart , "NonworkingHoursPattern"));
	_ObjectSetProperty( chart , "NonworkingHoursColor", 15790320);
	_ObjectSetProperty( chart , "NonworkingDaysColor", 13948116);
	_ObjectSetProperty( chart , "BackColor", 16448250);
_ObjectCallMethod( g2antt , "EndUpdate");

1869
How can I add a vertical line at specified date-time

OBJECT chart,g2antt;

g2antt =  ObjectByName("AN1") ;
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 18");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "UnitWidth", 32);
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2010");
	_ObjectCallMethod( chart , "MarkTimeZone", "M1","1/5/2010","1/5/2010",16711680,"50:5;3");
	_ObjectCallMethod( chart , "MarkTimeZone", "M2","1/6/2010","1/6/2010",16711680,":5");
	_ObjectCallMethod( chart , "MarkTimeZone", "M3","1/7/2010 10:00:00 AM","1/7/2010 10:00:00 AM",255,"50:3;;zone");

1868
How do I clear all date-time zones
// Click event - Occurs when the user presses and then releases the left mouse button over the tree control.
FUNCTION g2anttEvents_Click()
	_ObjectCallMethod( _ObjectGetProperty( g2antt , "Chart") , "RemoveTimeZone", "<*>");
END

// RClick event - Fired when right mouse button is clicked
FUNCTION g2anttEvents_RClick()
	_ObjectCallMethod( _ObjectGetProperty( g2antt , "Chart") , "RemoveTimeZone", "<Z*>");
END

OBJECT chart,g2antt;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 18");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2010");
	_ObjectCallMethod( chart , "MarkTimeZone", "Z1","1/4/2010","1/5/2010",255);
	_ObjectCallMethod( chart , "MarkTimeZone", "Z2","1/11/2010","1/12/2010",65280);
	_ObjectCallMethod( chart , "MarkTimeZone", "M1","1/7/2010","1/8/2010",16711680,"50:5;3");

1867
How do I place a comment above/bellow the bar (sample 4)

OBJECT bar,chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "DefaultItemHeight", 26);
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Task");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 64");
	bar = _ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Bars.Item(`Task`)");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim barObj")
		_ObjectCallMethod(g2antt, "TemplatePut", bar)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "barObj.Def(5) = 18");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "barObj.Def(4) = 0");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "barObj.Def(44) = ` `");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "barObj.Def(45) = 0");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "barObj.Def(46) = 16");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Task");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/2/2001","1/6/2001","K1","<font ;6>user comment");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`K1`,44) = `<font ;6>user comment`");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/9/2001","1/13/2001","K2","<font ;6>user comment");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`K2`,44) = `<font ;6>user comment`");
_ObjectCallMethod( g2antt , "EndUpdate");

1866
How do I place a comment above/bellow the bar (sample 3)

OBJECT chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "DefaultItemHeight", 26);
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Task");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 64");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Task");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/2/2001","1/6/2001","K1","<font ;6>user comment");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`K1`,5) = 18");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`K1`,4) = 0");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`K1`,44) = `<font ;6>user comment`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`K1`,45) = 0");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`K1`,46) = 16");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/9/2001","1/13/2001","K2","<font ;6>user comment");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`K2`,44) = `<font ;6>user comment`");
_ObjectCallMethod( g2antt , "EndUpdate");

1865
How do I place a comment under the bar (sample 2)

OBJECT bar,chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "DefaultItemHeight", 26);
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Task");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 64");
	bar = _ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Bars.Item(`Task`)");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim barObj")
		_ObjectCallMethod(g2antt, "TemplatePut", bar)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "barObj.Def(5) = 18");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "barObj.Def(4) = 0");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Task");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/2/2001","1/6/2001","K1","<font ;6>user comment");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/9/2001","1/13/2001","K2","<font ;6>user comment");
_ObjectCallMethod( g2antt , "EndUpdate");

1864
How do I place a comment under the bar (sample 1)

OBJECT chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "DefaultItemHeight", 26);
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Task");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 64");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Task");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/2/2001","1/6/2001","K1","<font ;6>user comment");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`K1`,5) = 18");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`K1`,4) = 0");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/9/2001","1/13/2001","K2","<font ;6>user comment");
_ObjectCallMethod( g2antt , "EndUpdate");

1863
I am using exBarCanMoveToAnother to allow a bar to be moved from one item to another. The question is if it is possible somehow to highlight the current bar can be dropped to (sample 2)

// BarParentChange event - Occurs just before moving a bar from current item to another item.
FUNCTION g2anttEvents_BarParentChange(OBJECT g2antt, INT Item, VARIANT Key, INT NewItem, INT Cancel)
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim NewItem")
	_ObjectCallMethod(g2antt, "TemplatePut", NewItem)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "Items.SelectItem(NewItem) = True");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim _ObObj,NewItem")
	_ObjectCallMethod(g2antt, "TemplatePut", _ObjectGetProperty( g2antt , "ConditionalFormats"))
	_ObjectCallMethod(g2antt, "TemplatePut", NewItem)
	Cancel = _ObjectCallMethod(g2antt, "ExecuteTemplate", "_ObObj.Item(`NOTRED`).Verify(NewItem)");
END

// ChartEndChanging event - Occurs after the chart has been changed.
FUNCTION g2anttEvents_ChartEndChanging(OBJECT g2antt, INT Operation)
	_ObjectSetProperty( g2antt , "SelForeColor", -2147483634);
	_ObjectSetProperty( g2antt , "SelBackColor", -2147483635);
	_ObjectSetProperty( _ObjectGetProperty( g2antt , "Chart") , "SelBackColor", _ObjectGetProperty( g2antt , "SelBackColor"));
	_ObjectCallMethod( _ObjectGetProperty( g2antt , "ConditionalFormats") , "Clear");
END

// ChartStartChanging event - Occurs when the chart is about to be changed.
FUNCTION g2anttEvents_ChartStartChanging(OBJECT g2antt, INT Operation)
	OBJECT chart,conditionalformat;
	_ObjectSetProperty( g2antt , "SelForeColor", _ObjectGetProperty( g2antt , "ForeColor"));
	_ObjectSetProperty( g2antt , "SelBackColor", _ObjectGetProperty( g2antt , "BackColor"));
	chart = _ObjectGetProperty( g2antt , "Chart");
		_ObjectSetProperty( chart , "SelBackColor", _ObjectGetProperty( chart , "BackColor"));
	conditionalformat = _ObjectCallMethod( _ObjectGetProperty( g2antt , "ConditionalFormats") , "Add", "%0 contains `Allowed` ","RED");
		_ObjectSetProperty( conditionalformat , "Enabled", 0);
	conditionalformat = _ObjectCallMethod( _ObjectGetProperty( g2antt , "ConditionalFormats") , "Add", "not ( %0 contains `Allowed` )","NOTRED");
		_ObjectSetProperty( conditionalformat , "BackColor", 33488638);
		_ObjectSetProperty( conditionalformat , "ChartBackColor", _ObjectGetProperty( conditionalformat , "BackColor"));
END

OBJECT chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "VisualAppearance") , "Add", 1,"gBFLBCJwBAEHhEJAAEhABZkIQAAYAQGKQYhiAKBQAGaAoDDcMA4QwAAyDQKkEwsACEIrjKCRShyCYZRrGUgRCKQahLEiTIhGUYJHgmK4tRoAUbyDBIGQSCCZYDmKA3f" +
	"j0AI9P7FcgSABEEigNIxToOU4jFgeCR2TqQRK1BDQbQSFCaZrmMKIXICO40WBQFhTdLlRyBBKzLKtCyaBqWaZrWxZE72ZaFVTdOK6bDvGwoarid56X7beA2PgdZTjQi5" +
	"cCxG5sLrTBZtYzfET3diOEYPQzHMpzDB7bxbGaXZBlGSZbjeGZBUjQc7yfSNMw/HqKZQ6cQwTAIgI");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Add(`Members`).Def(17) = 1");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "SelBackColor", _ObjectGetProperty( g2antt , "SelBackColor"));
	_ObjectSetProperty( chart , "FirstVisibleDate", "9/20/2006");
	_ObjectSetProperty( chart , "AllowLinkBars", 0);
	_ObjectSetProperty( chart , "AllowCreateBar", 0);
	_ObjectSetProperty( chart , "AllowSelectObjects", 0);
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 96");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Bars.Item(`Task`).OverlaidType = 4611");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Member <b>1</b>");
	h = _ObjectCallMethod( items , "AddItem", "Member <b>Allowed</b>");
	_ObjectCallMethod( items , "AddBar", h,"Task","9/21/2006","9/23/2006","T102","Task <b>102</b>");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`T102`,4) = 18");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`T102`,28) = True");
	h = _ObjectCallMethod( items , "AddItem", "Member <b>Allowed</b>");
	h = _ObjectCallMethod( items , "AddItem", "Member <b>4</b>");
_ObjectCallMethod( g2antt , "EndUpdate");

1862
I am using exBarCanMoveToAnother to allow a bar to be moved from one item to another. The question is if it is possible somehow to highlight the current bar can be dropped to (sample 1)

// BarParentChange event - Occurs just before moving a bar from current item to another item.
FUNCTION g2anttEvents_BarParentChange(OBJECT g2antt, INT Item, VARIANT Key, INT NewItem, INT Cancel)
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim NewItem")
	_ObjectCallMethod(g2antt, "TemplatePut", NewItem)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "Items.SelectItem(NewItem) = True");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim _ObObj,NewItem")
	_ObjectCallMethod(g2antt, "TemplatePut", _ObjectGetProperty( g2antt , "ConditionalFormats"))
	_ObjectCallMethod(g2antt, "TemplatePut", NewItem)
	Cancel = _ObjectCallMethod(g2antt, "ExecuteTemplate", "_ObObj.Item(`NOTRED`).Verify(NewItem)");
END

// ChartEndChanging event - Occurs after the chart has been changed.
FUNCTION g2anttEvents_ChartEndChanging(OBJECT g2antt, INT Operation)
	_ObjectSetProperty( g2antt , "SelForeColor", -2147483634);
	_ObjectSetProperty( g2antt , "SelBackColor", -2147483635);
	_ObjectSetProperty( _ObjectGetProperty( g2antt , "Chart") , "SelBackColor", _ObjectGetProperty( g2antt , "SelBackColor"));
	_ObjectCallMethod( _ObjectGetProperty( g2antt , "ConditionalFormats") , "Clear");
END

// ChartStartChanging event - Occurs when the chart is about to be changed.
FUNCTION g2anttEvents_ChartStartChanging(OBJECT g2antt, INT Operation)
	OBJECT chart,conditionalformat;
	_ObjectSetProperty( g2antt , "SelForeColor", _ObjectGetProperty( g2antt , "ForeColor"));
	_ObjectSetProperty( g2antt , "SelBackColor", _ObjectGetProperty( g2antt , "BackColor"));
	chart = _ObjectGetProperty( g2antt , "Chart");
		_ObjectSetProperty( chart , "SelBackColor", _ObjectGetProperty( chart , "BackColor"));
	conditionalformat = _ObjectCallMethod( _ObjectGetProperty( g2antt , "ConditionalFormats") , "Add", "%0 contains `Allowed` ","RED");
		_ObjectSetProperty( conditionalformat , "BackColor", 8421631);
		_ObjectSetProperty( conditionalformat , "ChartBackColor", _ObjectGetProperty( conditionalformat , "BackColor"));
	conditionalformat = _ObjectCallMethod( _ObjectGetProperty( g2antt , "ConditionalFormats") , "Add", "not ( %0 contains `Allowed` )","NOTRED");
		_ObjectSetProperty( conditionalformat , "Enabled", 0);
END

OBJECT chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Add(`Members`).Def(17) = 1");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "SelBackColor", _ObjectGetProperty( g2antt , "SelBackColor"));
	_ObjectSetProperty( chart , "FirstVisibleDate", "9/20/2006");
	_ObjectSetProperty( chart , "AllowLinkBars", 0);
	_ObjectSetProperty( chart , "AllowCreateBar", 0);
	_ObjectSetProperty( chart , "AllowSelectObjects", 0);
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 96");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Bars.Item(`Task`).OverlaidType = 4611");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Member <b>1</b>");
	h = _ObjectCallMethod( items , "AddItem", "Member <b>Allowed</b>");
	_ObjectCallMethod( items , "AddBar", h,"Task","9/21/2006","9/23/2006","T102","Task <b>102</b>");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`T102`,4) = 18");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`T102`,28) = True");
	h = _ObjectCallMethod( items , "AddItem", "Member <b>Allowed</b>");
	h = _ObjectCallMethod( items , "AddItem", "Member <b>4</b>");
_ObjectCallMethod( g2antt , "EndUpdate");

1861
How can I check, if a specified item fits a specified conditional format expression
// AddItem event - Occurs after a new Item has been inserted to Items collection.
FUNCTION g2anttEvents_AddItem(OBJECT g2antt, INT Item)
	OBJECT items;
	items = _ObjectGetProperty( g2antt , "Items");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,Item")
		_ObjectCallMethod(g2antt, "TemplatePut", items)
		_ObjectCallMethod(g2antt, "TemplatePut", Item)
		_ObjectCallMethod( items , "AddBar", Item,"Task",_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(Item,2)"),_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(Item,4)"));
END

// MouseMove event - Occurs when the user moves the mouse.
FUNCTION g2anttEvents_MouseMove(OBJECT g2antt, INT Button, INT Shift, INT X, INT Y)
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim c,hit")
	_ObjectCallMethod(g2antt, "TemplatePut", c)
	_ObjectCallMethod(g2antt, "TemplatePut", hit)
	h = _ObjectCallMethod(g2antt, "ExecuteTemplate", "ItemFromPoint(-1,-1,c,hit)");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim _ObObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", _ObjectGetProperty( g2antt , "ConditionalFormats"))
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	Message( _ObjectCallMethod(g2antt, "ExecuteTemplate", "_ObObj.Item(`RED`).Verify(h)") );
END

OBJECT chart,conditionalformat,conditionalformats,g2antt,rs;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "FirstVisibleDate", "8/3/1994");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 256");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "UnitScale", 4096);
	_ObjectSetProperty( chart , "FirstWeekDay", 1);
_ObjectSetProperty( _ObjectGetProperty( g2antt , "Chart") , "SelBackColor", _ObjectGetProperty( g2antt , "SelBackColor"));
_ObjectSetProperty( g2antt , "SelBackMode", 1);
_ObjectSetProperty( g2antt , "ColumnAutoResize", 0);
_ObjectSetProperty( g2antt , "ContinueColumnScroll", 0);
rs = CreateObject("ADOR.Recordset");
	_ObjectCallMethod( rs , "Open", "Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExG2antt\Sample\Access\misc.accdb",3,3);
_ObjectSetProperty( g2antt , "DataSource", rs);
_ObjectSetProperty( _ObjectGetProperty( g2antt , "Items") , "AllowCellValueToItemBar", -1);
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Item(2).Def(18) = 1");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Item(4).Def(18) = 2");
conditionalformats = _ObjectGetProperty( g2antt , "ConditionalFormats");
	conditionalformat = _ObjectCallMethod( conditionalformats , "Add", "%1 = 5","RED");
		_ObjectSetProperty( conditionalformat , "BackColor", 8421631);
		_ObjectSetProperty( conditionalformat , "ChartBackColor", _ObjectGetProperty( conditionalformat , "BackColor"));
_ObjectCallMethod( g2antt , "EndUpdate");

1860
Is it possible to apply the conditional format on the items shown on the chart part of the control (sample 3)

// AddItem event - Occurs after a new Item has been inserted to Items collection.
FUNCTION g2anttEvents_AddItem(OBJECT g2antt, INT Item)
	OBJECT items;
	items = _ObjectGetProperty( g2antt , "Items");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,Item")
		_ObjectCallMethod(g2antt, "TemplatePut", items)
		_ObjectCallMethod(g2antt, "TemplatePut", Item)
		_ObjectCallMethod( items , "AddBar", Item,"Task",_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(Item,2)"),_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(Item,4)"));
END

OBJECT chart,conditionalformat,conditionalformats,g2antt,rs;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "SelBackMode", 1);
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "SelBackColor", _ObjectGetProperty( g2antt , "SelBackColor"));
	_ObjectSetProperty( chart , "FirstVisibleDate", "8/3/1994");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 256");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "UnitScale", 4096);
	_ObjectSetProperty( chart , "FirstWeekDay", 1);
_ObjectSetProperty( g2antt , "ColumnAutoResize", 0);
_ObjectSetProperty( g2antt , "ContinueColumnScroll", 0);
rs = CreateObject("ADOR.Recordset");
	_ObjectCallMethod( rs , "Open", "Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExG2antt\Sample\Access\misc.accdb",3,3);
_ObjectSetProperty( g2antt , "DataSource", rs);
_ObjectSetProperty( _ObjectGetProperty( g2antt , "Items") , "AllowCellValueToItemBar", -1);
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Item(2).Def(18) = 1");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Item(4).Def(18) = 2");
conditionalformats = _ObjectGetProperty( g2antt , "ConditionalFormats");
	conditionalformat = _ObjectCallMethod( conditionalformats , "Add", "%1 in (3,5)");
		_ObjectSetProperty( conditionalformat , "ApplyToBars", "Task");
		_ObjectSetProperty( conditionalformat , "BarColor", 255);
		_ObjectSetProperty( conditionalformat , "BarOverviewColor", 255);
		_ObjectSetProperty( conditionalformat , "ForeColor", _ObjectGetProperty( conditionalformat , "BarColor"));
		_ObjectSetProperty( conditionalformat , "Bold", -1);
_ObjectCallMethod( g2antt , "EndUpdate");

1859
Is it possible to apply the conditional format on the items shown on the chart part of the control (sample 2)

// AddItem event - Occurs after a new Item has been inserted to Items collection.
FUNCTION g2anttEvents_AddItem(OBJECT g2antt, INT Item)
	OBJECT items;
	items = _ObjectGetProperty( g2antt , "Items");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,Item")
		_ObjectCallMethod(g2antt, "TemplatePut", items)
		_ObjectCallMethod(g2antt, "TemplatePut", Item)
		_ObjectCallMethod( items , "AddBar", Item,"Task",_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(Item,2)"),_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(Item,4)"));
END

OBJECT chart,conditionalformat,conditionalformats,g2antt,rs;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "SelBackMode", 1);
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "SelBackColor", _ObjectGetProperty( g2antt , "SelBackColor"));
	_ObjectSetProperty( chart , "FirstVisibleDate", "8/3/1994");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 256");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "UnitScale", 4096);
	_ObjectSetProperty( chart , "FirstWeekDay", 1);
_ObjectSetProperty( g2antt , "ColumnAutoResize", 0);
_ObjectSetProperty( g2antt , "ContinueColumnScroll", 0);
rs = CreateObject("ADOR.Recordset");
	_ObjectCallMethod( rs , "Open", "Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExG2antt\Sample\Access\misc.accdb",3,3);
_ObjectSetProperty( g2antt , "DataSource", rs);
_ObjectSetProperty( _ObjectGetProperty( g2antt , "Items") , "AllowCellValueToItemBar", -1);
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Item(2).Def(18) = 1");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Item(4).Def(18) = 2");
conditionalformats = _ObjectGetProperty( g2antt , "ConditionalFormats");
	conditionalformat = _ObjectCallMethod( conditionalformats , "Add", "%1 in (3,5)");
		_ObjectSetProperty( conditionalformat , "ApplyTo", 1);
		_ObjectSetProperty( conditionalformat , "BackColor", 8421631);
	conditionalformat = _ObjectCallMethod( conditionalformats , "Add", "%1 in (3,5)");
		_ObjectSetProperty( conditionalformat , "ApplyToBars", "Task");
		_ObjectSetProperty( conditionalformat , "BarColor", 255);
		_ObjectSetProperty( conditionalformat , "BarOverviewColor", 255);
		_ObjectSetProperty( conditionalformat , "ChartBackColor", 8421631);
_ObjectCallMethod( g2antt , "EndUpdate");

1858
Is it possible to apply the conditional format on the items shown on the chart part of the control (sample 1)

// AddItem event - Occurs after a new Item has been inserted to Items collection.
FUNCTION g2anttEvents_AddItem(OBJECT g2antt, INT Item)
	OBJECT items;
	items = _ObjectGetProperty( g2antt , "Items");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,Item")
		_ObjectCallMethod(g2antt, "TemplatePut", items)
		_ObjectCallMethod(g2antt, "TemplatePut", Item)
		_ObjectCallMethod( items , "AddBar", Item,"Task",_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(Item,2)"),_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(Item,4)"));
END

OBJECT chart,conditionalformat,conditionalformats,g2antt,rs;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "FirstVisibleDate", "8/3/1994");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 256");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "UnitScale", 4096);
	_ObjectSetProperty( chart , "FirstWeekDay", 1);
_ObjectSetProperty( g2antt , "SelBackMode", 1);
_ObjectSetProperty( g2antt , "BackColorAlternate", 15790320);
_ObjectSetProperty( g2antt , "ColumnAutoResize", 0);
_ObjectSetProperty( g2antt , "ContinueColumnScroll", 0);
rs = CreateObject("ADOR.Recordset");
	_ObjectCallMethod( rs , "Open", "Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExG2antt\Sample\Access\misc.accdb",3,3);
_ObjectSetProperty( _ObjectGetProperty( g2antt , "Chart") , "SelBackColor", _ObjectGetProperty( g2antt , "SelBackColor"));
_ObjectSetProperty( g2antt , "DataSource", rs);
_ObjectSetProperty( _ObjectGetProperty( g2antt , "Items") , "AllowCellValueToItemBar", -1);
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Item(2).Def(18) = 1");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Item(4).Def(18) = 2");
conditionalformats = _ObjectGetProperty( g2antt , "ConditionalFormats");
	conditionalformat = _ObjectCallMethod( conditionalformats , "Add", "%1 in (3,5)");
		_ObjectSetProperty( conditionalformat , "ApplyToBars", "Task");
		_ObjectSetProperty( conditionalformat , "BarColor", 255);
		_ObjectSetProperty( conditionalformat , "BarOverviewColor", 255);
		_ObjectSetProperty( conditionalformat , "BackColor", 8421631);
		_ObjectSetProperty( conditionalformat , "ChartBackColor", 8421631);
_ObjectCallMethod( g2antt , "EndUpdate");

1857
How can I get ride / hide the image being dragged by OLE Drag and Drop
// OLEStartDrag event - Occurs when the OLEDrag method is called.
FUNCTION g2anttEvents_OLEStartDrag(OBJECT g2antt, OBJECT Data, INT AllowedEffects)
	' Data.SetData("data to drag")
	AllowedEffects = 1;
END

OBJECT g2antt,items;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectSetProperty( g2antt , "OLEDropMode", 1);
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Background(34) = 16777215");
_ObjectSetProperty( g2antt , "LinesAtRoot", -1);
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Default");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Root");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 2");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");

1856
How do I change the visual appearance of the split bars

OBJECT appearance,bar,bars,chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "DefaultItemHeight", 24);
appearance = _ObjectGetProperty( g2antt , "VisualAppearance");
	_ObjectCallMethod( appearance , "Add", 1,"gBFLBCJwBAEHhEJAAEhABEgDg6AADACAxSDEMQBQKAAzQFAYbhgHCGAAGMYhTgmFgAQhFcZQSB0Eg1BKMYwjOJgFgmEQxDQNIBQSLIYQiGSWZBGUBJDjWGgyQjOEByD" +
	"IMRwjE6UZBgeCRViEMo9RrSEZSLAdGRFAaVYDdULBEACU5VRZQFCwTQcBhpIyoZpkECobh2TYgQjYNT1NSkLxeGoSbbuGhBQrOAw1XTEMhyDR0LTJM6bMBACqrBi2L4x" +
	"URfOBRXLQAYbHjAZ7rSgacjKRpKRbmAV4Oh+O5pQjadp1TidNwHLoAK7nGwbbgmfwAZrAdjABj1HgBNS2dDkaabQrKEZ4XYAHAXVROOQTWIANb2XC4bwSLAwTJJYzjTh" +
	"iC2GInFOOQckiVw6AeCIvHSBzkCwDxfE6WZ2jsehICadx5kGYZdDgMRrA2c4NmWY56jyGxgEQJIgGkGJHEGVByBkWoCjkNAAAQIQ2AYRoDGQJAoKuZYgBgRZHggHZqAk" +
	"AZDjYGA7E8KB0kyB5LiiBgigiYhIgiQ4Jk4WIkn6CphjQDgbDmIwDBIMg3GMQ4uDaDZjgiZg6DIY5DGIPg/GQBAMneEJMFkFJqhGTppCYSoSmSSQ2EoPJlAMIhSDmZRE" +
	"AyVYVk0eRkm+FpkmkdhehaTp4iSZQxiYRAODIMQODmJJxhqTwJjYbobmcCZGHKGxLjmVQDC+J4DiYeg8GGWYuH6H5oAoBoCgcTwimaBodmeGZongPRPCoCoOiOZ5qBII" +
	"oiAuaZomkPoPGOToEiaaZKHaHYfiUA5OhMAAngoVh6iYKYqHqKoqmGWoGiOKRkHOKJ7D2TxKgaNotmuCpmFAPQrkqPh4iwaw6laOowmwOpwnSL4LmiXJ9D4TxbBqTozm" +
	"0CxGjwPRtEsIJsjWT4Dlydo1C2Sx2l6N5uAOWpijIDpbhYQ42i4K4mmqOpukuMpnjIJIjmKco5m8S5WnaPZkDuSJ4h0S46FKcY8m+DAHAGPovkoUhgD4cILmsCpCnCTA" +
	"2nKQgPhwFokh4JpjmsFpEDGDBnBqRpwgwWJ6kSKhZjie5FnGTIXCWR4yAmYh+D+D48g8HpLnMDJHDIPoylObwpWIY5/CyTJzkydw1kSIhzA6ZQ7E+fJrDWUZ0g0JxKks" +
	"T5NDSPJTmUaRcmAN5Nn0FJ/lMdYNGcWpWnWHRaGAMZ2AQDoEDKNhLicVpViQDYnGqWpPl2HxFDQNwJgoLoGGaCcDInRdjMCuNYbovR2D2FyNgNIcAJC5FWKwNwcBqAzC" +
	"WBoPgTA8BkEwFwN4HRjjyAMH8EgcQ5CaGIFoAAHQ3AgAAIAQBAQ==");
	_ObjectCallMethod( appearance , "Add", 2,"gBFLBCJwBAEHhEJAAEhABBYDg6AADACAxSDEMQBQKAAzQFAYbhgHCGAAGMYhTgmFgAQhFcZQSB0Eg1BKMYwjOJgFgmEQxDQNIBQSLIYQiGSWZTgMYRSASI43RoMUIzV" +
	"AcQxDEaIZLlGQYHgkNIhDJPcZ0VDUbQGBiQIRmIAHNBwJJUVZFdBDLQkQy5HapZDkECobA+CZQTzUUI1LS9WS1HYaRJle4YRDUMJyQjdV4TRINHQvMinYzqOzrOhaW5T" +
	"SzLcqyCK0SxxR4AJ4yGobJjiQYJShXcxyDQ8dyZC7PQohG7ofxUAKDVjhMjZRQeMS9JCwaThHElRQHMyBdJkKA9Iq2WaGXBeeQ3JbNbzrYzHb5hHZgAzTOoWbzWFT8BJ" +
	"OFOCAYGcJJjHGTh+C2H40AAL5ckyBQDFkKoWHYLw9iGTpGDUY4zkIdwbF8JhbgMc5hF6OJ8C6BhTkOcBAlsR4NnQaAflAIQJBQBoRgwdAdEcIYVEUQJBGYOBCBMYQUGg" +
	"NhCEKB5FB4VBBgQXJgF+IAzA4Ig5GIQIQBwOxiGiIgngoYpIi4LoKiMA5KDIMwjEKakmk6OJkkmDpNgidgtgwI55AYJw5iQQwSEYNxkgiZJrEITppDSc4TkyCREmeFJk" +
	"CkAkLmWAwWFoOolkkNheDuJJJDSb4YmIQ4UkaGZlFkVJVhqTR5jYYw7mWeQ1AkPAnEmVh1C6Z4JiYL4KGQYwQmOH5PBoBh2h0EIaAaBg8GMI5Ij6IpokoNoOiOaJDiaE" +
	"oiA8KgegGIRpGoZoaiaaZDmCdYlGkZAmgmKJqEqFomimaoKCaIoqGqSo2iwQhknqRoyiyaxKlaNotk8OpCjiLprkqbQJD0LALAaQowmwSwWkaMZQhOVpKjKbJLDaTozm" +
	"0CxFAkPYtEsVpWjWbYLGaWo2lCGRil6N5pAuBpiDsbhLH6Zo3G4ax6HhYgpFibYjCWa4ml4QhPguVp2D4b4Li6bYPmiSZWngPhvGuWQJj+b5zmsBo+iePAmDCIwoGwGJ" +
	"6kEL4MA8EJDjCC46FWQwoBObwGkQD4UCcDpDg+PIHBWPpiHwYJxD+MgcH8BpH4cBJ7kicIrnKC4hg+fIjCoPoQhyOwuD8M5CnMPpJCMCIIkOOQOlOfw1k6MnJDwPw0GO" +
	"fhvDGdQNAIKdalOAJfDedJdC8SxCeyNJQleZhdEoJ4iEyLYWlWVx0GQJJslqTQtjcVJYi6aZ8mMM43EmFwCECJkfYyWiDuAuG0EgdBNB8AYHYMgxwEM1EAIAgIA==");
	_ObjectCallMethod( appearance , "Add", 3,"CP:2 -2 -2 2 2");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Task");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 48");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	bars = _ObjectGetProperty( chart , "Bars");
		bar = _ObjectCallMethod( bars , "Add", "A");
			_ObjectSetProperty( bar , "Height", 15);
			_ObjectSetProperty( bar , "Color", 33554432);
			_ObjectSetProperty( bar , "Pattern", 6);
		bar = _ObjectCallMethod( bars , "Add", "Task:A");
			_ObjectSetProperty( bar , "Shortcut", "Task");
			_ObjectSetProperty( bar , "Height", 15);
			_ObjectSetProperty( bar , "Color", 16777216);
			_ObjectCallMethod(g2antt, "TemplatePut", "Dim barObj")
			_ObjectCallMethod(g2antt, "TemplatePut", bar)
			_ObjectCallMethod(g2antt, "ExecuteTemplate", "barObj.Def(20) = True");
	_ObjectSetProperty( chart , "NonworkingDaysColor", 15790320);
	_ObjectSetProperty( chart , "SelBarColor", 16711680);
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Task 1"),"Task","1/2/2001","1/16/2001");
	h = _ObjectCallMethod( items , "AddItem", "Task 2");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/2/2001","1/16/2001","");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,``,33) = 65535");
	h = _ObjectCallMethod( items , "AddItem", "Task 3");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/2/2001","1/16/2001","");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,``,257) = True");
	h = _ObjectCallMethod( items , "AddItem", "Task 4");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/2/2001","1/16/2001","");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,``,40) = 58753152");
	h = _ObjectCallMethod( items , "AddItem", "Task 5");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/2/2001","1/16/2001","");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,``,40) = 25198720");
	h = _ObjectCallMethod( items , "AddItem", "Task 6");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/2/2001","1/16/2001","");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,``,40) = 2130771712");
_ObjectCallMethod( g2antt , "EndUpdate");

1855
Is there a way to display automatically the duration ( days, hours, minutes ) of the bar next to it

OBJECT bar,chart,column,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Tasks");
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "Width", 36);
_ObjectSetProperty( g2antt , "BackColorLevelHeader", _ObjectGetProperty( g2antt , "BackColor"));
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 64");
	_ObjectSetProperty( chart , "FirstVisibleDate", "4/6/2009");
	_ObjectSetProperty( chart , "LevelCount", 2);
	bar = _ObjectCallMethod( _ObjectGetProperty( chart , "Bars") , "Add", "Task:Progress");
		_ObjectSetProperty( bar , "Shortcut", "TaskS");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim barObj")
		_ObjectCallMethod(g2antt, "TemplatePut", bar)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "barObj.Def(3) = `<%=((1:=int(0:= (%258))) != 0 ? (=:1 + ' day(s)') : '') + (=:1 ? ' ' : '' ) + ((1:=int(0:=((=:0 - =:1 + 1/24/60/60/2)*24))) != 0 ? =:1 + ' hour(s)' : '' ) + (=:1 ? ' ' : '' ) + ((1:=round((=:0 - =:1)*60)) != 0 ? =:1 + ' min(s)' : '')%>`");
	_ObjectSetProperty( chart , "ResizeUnitScale", 1048576);
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "T1"),"TaskS","4/10/2009 2:30:00 AM","4/16/2009 2:30:00 AM");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "T2"),"TaskS","4/14/2009 9:00:00 AM","4/22/2009 10:10:00 AM");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(0,`<*>`,20) = True");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(0,`<*>`,4) = 18");
_ObjectCallMethod( g2antt , "EndUpdate");

1854
Is there a way to display automatically the duration ( days, hours, minutes ) of the bar next to it

OBJECT chart,column,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Tasks");
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "Width", 36);
_ObjectSetProperty( g2antt , "BackColorLevelHeader", _ObjectGetProperty( g2antt , "BackColor"));
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 64");
	_ObjectSetProperty( chart , "FirstVisibleDate", "4/6/2009");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "UnitScale", 65536);
	_ObjectSetProperty( chart , "ResizeUnitScale", 1048576);
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Bars.Item(`Task`).Def(3) = `<%=((1:=int(0:= (%513))) != 0 ? (=:1 + ' day(s)') : '') + (=:1 ? ' ' : '' ) + ((1:=int(0:=((=:0 - =:1 + 1/24/60/60/2)*24))) != 0 ? =:1 + ' hour(s)' : '' ) + (=:1 ? ' ' : '' ) + ((1:=round((=:0 - =:1)*60)) != 0 ? =:1 + ' min(s)' : '')%>`");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "T1"),"Task","4/6/2009 2:30:00 AM","4/6/2009 12:35:00 PM");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "T2"),"Task","4/6/2009 9:00:00 AM","4/6/2009 10:10:00 AM");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(0,`<*>`,4) = 18");
_ObjectCallMethod( g2antt , "EndUpdate");

1853
Does it support single or multiple split pane views

OBJECT bar,chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Task");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Background(18) = 8421504");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Background(142) = 2631720");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 76");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	bar = _ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Bars.Item(`Summary`)");
		_ObjectSetProperty( bar , "Pattern", 3);
		_ObjectSetProperty( bar , "Shape", 4);
		_ObjectSetProperty( bar , "Color", 16711680);
		_ObjectSetProperty( bar , "StartColor", _ObjectGetProperty( bar , "Color"));
		_ObjectSetProperty( bar , "EndColor", _ObjectGetProperty( bar , "Color"));
	_ObjectSetProperty( chart , "AllowSplitPane", 3);
	_ObjectSetProperty( chart , "SplitPaneWidth", "128,128");
items = _ObjectGetProperty( g2antt , "Items");
	hSummary = _ObjectCallMethod( items , "AddItem", "Summary");
	_ObjectCallMethod( items , "AddBar", hSummary,"Summary","1/2/2001","1/2/2001","");
	hTask = _ObjectCallMethod( items , "InsertItem", hSummary,"","Task A");
	_ObjectCallMethod( items , "AddBar", hTask,"Task","1/2/2001","1/5/2001","K1");
	hTask = _ObjectCallMethod( items , "InsertItem", hSummary,"","Task B");
	_ObjectCallMethod( items , "AddBar", hTask,"Task","1/4/2001","1/8/2001","K2");
	hTask = _ObjectCallMethod( items , "InsertItem", hSummary,"","Task C");
	_ObjectCallMethod( items , "AddBar", hTask,"Task","2/23/2001","2/27/2001","K3");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,hSummary")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", hSummary)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ExpandItem(hSummary) = True");
	_ObjectCallMethod( items , "DefineSummaryBars", hSummary,"",-1,"<*>");
_ObjectCallMethod( g2antt , "EndUpdate");

1852
How can I programmatically add more split panes ( by code)

OBJECT bar,chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Task");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Background(18) = 8421504");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 76");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	bar = _ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Bars.Item(`Summary`)");
		_ObjectSetProperty( bar , "Pattern", 3);
		_ObjectSetProperty( bar , "Shape", 4);
		_ObjectSetProperty( bar , "Color", 16711680);
		_ObjectSetProperty( bar , "StartColor", _ObjectGetProperty( bar , "Color"));
		_ObjectSetProperty( bar , "EndColor", _ObjectGetProperty( bar , "Color"));
	_ObjectSetProperty( chart , "AllowSplitPane", 1);
items = _ObjectGetProperty( g2antt , "Items");
	hSummary = _ObjectCallMethod( items , "AddItem", "Summary");
	_ObjectCallMethod( items , "AddBar", hSummary,"Summary","1/2/2001","1/2/2001","");
	hTask = _ObjectCallMethod( items , "InsertItem", hSummary,"","Task A");
	_ObjectCallMethod( items , "AddBar", hTask,"Task","1/2/2001","1/5/2001","K1");
	hTask = _ObjectCallMethod( items , "InsertItem", hSummary,"","Task B");
	_ObjectCallMethod( items , "AddBar", hTask,"Task","1/4/2001","1/8/2001","K2");
	hTask = _ObjectCallMethod( items , "InsertItem", hSummary,"","Task C");
	_ObjectCallMethod( items , "AddBar", hTask,"Task","2/23/2001","2/27/2001","K3");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,hSummary")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", hSummary)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ExpandItem(hSummary) = True");
	_ObjectCallMethod( items , "DefineSummaryBars", hSummary,"",-1,"<*>");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectCallMethod( chart , "ScrollTo", _ObjectGetProperty( chart , "EndPrintDate"),1);
	_ObjectSetProperty( chart , "SplitPaneWidth", "128,128,128");
	_ObjectCallMethod( chart , "ScrollTo", _ObjectGetProperty( chart , "StartPrintDate"),1);
_ObjectCallMethod( g2antt , "EndUpdate");

1851
How can I programmatically add a split pane, or adding a split view at runtime

OBJECT bar,chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Task");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Background(142) = 2631720");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 76");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	bar = _ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Bars.Item(`Summary`)");
		_ObjectSetProperty( bar , "Pattern", 3);
		_ObjectSetProperty( bar , "Shape", 4);
		_ObjectSetProperty( bar , "Color", 16711680);
		_ObjectSetProperty( bar , "StartColor", _ObjectGetProperty( bar , "Color"));
		_ObjectSetProperty( bar , "EndColor", _ObjectGetProperty( bar , "Color"));
	_ObjectSetProperty( chart , "AllowSplitPane", 1);
items = _ObjectGetProperty( g2antt , "Items");
	hSummary = _ObjectCallMethod( items , "AddItem", "Summary");
	_ObjectCallMethod( items , "AddBar", hSummary,"Summary","1/2/2001","1/2/2001","");
	hTask = _ObjectCallMethod( items , "InsertItem", hSummary,"","Task A");
	_ObjectCallMethod( items , "AddBar", hTask,"Task","1/2/2001","1/5/2001","K1");
	hTask = _ObjectCallMethod( items , "InsertItem", hSummary,"","Task B");
	_ObjectCallMethod( items , "AddBar", hTask,"Task","1/4/2001","1/8/2001","K2");
	hTask = _ObjectCallMethod( items , "InsertItem", hSummary,"","Task C");
	_ObjectCallMethod( items , "AddBar", hTask,"Task","2/23/2001","2/27/2001","K3");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,hSummary")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", hSummary)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ExpandItem(hSummary) = True");
	_ObjectCallMethod( items , "DefineSummaryBars", hSummary,"",-1,"<*>");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectCallMethod( chart , "ScrollTo", _ObjectGetProperty( chart , "EndPrintDate"),1);
	_ObjectSetProperty( chart , "SplitPaneWidth", "128");
	_ObjectCallMethod( chart , "ScrollTo", _ObjectGetProperty( chart , "StartPrintDate"),1);
_ObjectCallMethod( g2antt , "EndUpdate");

1850
Is there any way, property, procedure or anything else to split the control into multiple views

OBJECT bar,chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Task");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Background(142) = 2631720");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 76");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	bar = _ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Bars.Item(`Summary`)");
		_ObjectSetProperty( bar , "Pattern", 3);
		_ObjectSetProperty( bar , "Shape", 4);
		_ObjectSetProperty( bar , "Color", 16711680);
		_ObjectSetProperty( bar , "StartColor", _ObjectGetProperty( bar , "Color"));
		_ObjectSetProperty( bar , "EndColor", _ObjectGetProperty( bar , "Color"));
	_ObjectSetProperty( chart , "AllowSplitPane", 1);
items = _ObjectGetProperty( g2antt , "Items");
	hSummary = _ObjectCallMethod( items , "AddItem", "Summary");
	_ObjectCallMethod( items , "AddBar", hSummary,"Summary","1/2/2001","1/2/2001","");
	hTask = _ObjectCallMethod( items , "InsertItem", hSummary,"","Task A");
	_ObjectCallMethod( items , "AddBar", hTask,"Task","1/2/2001","1/5/2001","K1");
	hTask = _ObjectCallMethod( items , "InsertItem", hSummary,"","Task B");
	_ObjectCallMethod( items , "AddBar", hTask,"Task","1/4/2001","1/8/2001","K2");
	hTask = _ObjectCallMethod( items , "InsertItem", hSummary,"","Task C");
	_ObjectCallMethod( items , "AddBar", hTask,"Task","2/23/2001","2/27/2001","K3");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,hSummary")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", hSummary)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ExpandItem(hSummary) = True");
	_ObjectCallMethod( items , "DefineSummaryBars", hSummary,"",-1,"<*>");
_ObjectCallMethod( g2antt , "EndUpdate");

1849
It appears that I can not use the ItemFromPoint property in my environment. What else I can do

// MouseMove event - Occurs when the user moves the mouse.
FUNCTION g2anttEvents_MouseMove(OBJECT g2antt, INT Button, INT Shift, INT X, INT Y)
	Message( _ObjectCallMethod( g2antt , "ExecuteTemplate", "Dim c, hit; ItemFromPoint(-1,-1, c, hit )") );
END

OBJECT column,g2antt,items;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Default");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(g2antt, "TemplatePut", column)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(0) = True");
	_ObjectSetProperty( column , "PartialCheck", -1);
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Chart.PaneWidth(True) = 0");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Root 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 2");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
	h = _ObjectCallMethod( items , "AddItem", "Root 2");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 2");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
_ObjectCallMethod( g2antt , "EndUpdate");

1848
How can I change the color for selected links (ebn)

OBJECT appearance,chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
appearance = _ObjectGetProperty( g2antt , "VisualAppearance");
	_ObjectSetProperty( appearance , "RenderType", -2);
	_ObjectCallMethod( appearance , "Add", 1,"gBFLBCJwBAEHhEJAEGg4BNkMQAAYAQGKIYBkAKBQAGaAoDDYNQwQwAAwjIKEEwsACEIrjKCVIgkHYJRjGEZxMAsEwjAoaQChEZRUhEMgxDDIIxAJIcaw0GSEZwgOQZB" +
	"iOEYnDANMgzDLMZR7DajYymSA6LiKNo+QjKFB0NLMVRtEIIIzCSCaNomT4DS4NIi2DYcVhhMqBYbtCZZBo2FpZUxXdL0BJMVxbHKYJikW4pVjoAJ+TxccjVDQNJyLQ6r" +
	"YzuAAKNpuO58RbdGDQHA9KyfLCEcTxYAMbp6X5kaBZVp2VCMRzbTLUIDzPNVCTrNIaJioAaMeiCG5NUzieqRNalLABFjZMIHDbtGynDIJZruW52+CLIZpWbEOiRXr2Tx" +
	"xgGYp5Fie5mAYBgIgSFDrDOIZUmQZYiECXJUjIEQ3lUGgbEIRQcg+Hg8DEFxYFuOR/i+X5znufh/omBgCgCVwjn4BoBmCCAmAqApgkefgMgOYQID4DoELsUgTgUYYIC4" +
	"F4GGGSAaBuBxhhgfgggUYgog4EYJGIaBJn6ChiBiLgsgkIpoj4J4BCMSJWDaDZjgiZgCEAQCAgA==");
	_ObjectCallMethod( appearance , "Add", 2,"CP:1 -2 -2 2 2");
_ObjectSetProperty( g2antt , "DefaultItemHeight", 24);
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Task");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 48");
	_ObjectSetProperty( chart , "NonworkingDays", 0);
	_ObjectSetProperty( chart , "LinksStyle", 0);
	_ObjectSetProperty( chart , "LinksWidth", 2);
	_ObjectSetProperty( chart , "SelLinkColor", 33554687);
items = _ObjectGetProperty( g2antt , "Items");
	h1 = _ObjectCallMethod( items , "AddItem", "Task 1");
	_ObjectCallMethod( items , "AddBar", h1,"Task","1/2/2001","1/4/2001","");
	h2 = _ObjectCallMethod( items , "AddItem", "Task 2");
	_ObjectCallMethod( items , "AddBar", h2,"Task","1/2/2001","1/4/2001","");
	_ObjectCallMethod( items , "AddLink", "L1",h1,"",h2,"");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.Link(`L1`,257) = True");
	h3 = _ObjectCallMethod( items , "AddItem", "Task 3");
	_ObjectCallMethod( items , "AddBar", h3,"Task","1/2/2001","1/4/2001","");
	_ObjectCallMethod( items , "AddLink", "L2",h2,"",h3,"");
	_ObjectCallMethod( items , "SchedulePDM", 0,"");
_ObjectCallMethod( g2antt , "EndUpdate");

1847
How can I change the color for selected links (color, no frame)

OBJECT chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "DefaultItemHeight", 24);
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Task");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 48");
	_ObjectSetProperty( chart , "NonworkingDays", 0);
	_ObjectSetProperty( chart , "LinksStyle", 0);
	_ObjectSetProperty( chart , "LinksWidth", 2);
	_ObjectSetProperty( chart , "SelLinkColor", 2130706687);
items = _ObjectGetProperty( g2antt , "Items");
	h1 = _ObjectCallMethod( items , "AddItem", "Task 1");
	_ObjectCallMethod( items , "AddBar", h1,"Task","1/2/2001","1/4/2001","");
	h2 = _ObjectCallMethod( items , "AddItem", "Task 2");
	_ObjectCallMethod( items , "AddBar", h2,"Task","1/2/2001","1/4/2001","");
	_ObjectCallMethod( items , "AddLink", "L1",h1,"",h2,"");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.Link(`L1`,257) = True");
	h3 = _ObjectCallMethod( items , "AddItem", "Task 3");
	_ObjectCallMethod( items , "AddBar", h3,"Task","1/2/2001","1/4/2001","");
	_ObjectCallMethod( items , "AddLink", "L2",h2,"",h3,"");
	_ObjectCallMethod( items , "SchedulePDM", 0,"");
_ObjectCallMethod( g2antt , "EndUpdate");

1846
How can I change the color for selected links (color, frame)

OBJECT chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "DefaultItemHeight", 24);
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Task");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 48");
	_ObjectSetProperty( chart , "NonworkingDays", 0);
	_ObjectSetProperty( chart , "LinksStyle", 0);
	_ObjectSetProperty( chart , "LinksWidth", 2);
	_ObjectSetProperty( chart , "SelLinkColor", 255);
items = _ObjectGetProperty( g2antt , "Items");
	h1 = _ObjectCallMethod( items , "AddItem", "Task 1");
	_ObjectCallMethod( items , "AddBar", h1,"Task","1/2/2001","1/4/2001","");
	h2 = _ObjectCallMethod( items , "AddItem", "Task 2");
	_ObjectCallMethod( items , "AddBar", h2,"Task","1/2/2001","1/4/2001","");
	_ObjectCallMethod( items , "AddLink", "L1",h1,"",h2,"");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.Link(`L1`,257) = True");
	h3 = _ObjectCallMethod( items , "AddItem", "Task 3");
	_ObjectCallMethod( items , "AddBar", h3,"Task","1/2/2001","1/4/2001","");
	_ObjectCallMethod( items , "AddLink", "L2",h2,"",h3,"");
	_ObjectCallMethod( items , "SchedulePDM", 0,"");
_ObjectCallMethod( g2antt , "EndUpdate");

1845
By default, the bar gets selected once the user releases the button of the mouse. Is it possible to change this behavior so the bar gets selected once the user presses the button of the mouse
// MouseDown event - Occurs when the user presses a mouse button.
FUNCTION g2anttEvents_MouseDown(OBJECT g2antt, INT Button, INT Shift, INT X, INT Y)
	OBJECT items;
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim c,hit")
	_ObjectCallMethod(g2antt, "TemplatePut", c)
	_ObjectCallMethod(g2antt, "TemplatePut", hit)
	h = _ObjectCallMethod(g2antt, "ExecuteTemplate", "ItemFromPoint(-1,-1,c,hit)");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim _ObObj")
	_ObjectCallMethod(g2antt, "TemplatePut", _ObjectGetProperty( g2antt , "Chart"))
	b = _ObjectCallMethod(g2antt, "ExecuteTemplate", "_ObObj.BarFromPoint(-1,-1)");
	items = _ObjectGetProperty( g2antt , "Items");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
		_ObjectCallMethod(g2antt, "TemplatePut", items)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(0,`<*>`,257) = False");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,b,h")
		_ObjectCallMethod(g2antt, "TemplatePut", items)
		_ObjectCallMethod(g2antt, "TemplatePut", b)
		_ObjectCallMethod(g2antt, "TemplatePut", h)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,b,257) = True");
END

OBJECT appearance,chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "DefaultItemHeight", 32);
appearance = _ObjectGetProperty( g2antt , "VisualAppearance");
	_ObjectCallMethod( appearance , "Add", 1,"gBFLBCJwBAEHhEJAEGg4BNkMQAAYAQGKIYBkAKBQAGaAoDDYNQwQwAAwjIKEEwsACEIrjKCVIgkHYJRjGEZxMAsEwjAoaQChEZRUhEMgxDDIIxAJIcaw0GSEZwgOQZB" +
	"iOEYnDANMgzDLMZR7DajYymSA6LiKNo+QjKFB0NLMVRtEIIIzCSCaNomT4DS4NIi2DYcVhhMqBYbtCZZBo2FpZUxXdL0BJMVxbHKYJikW4pVjoAJ+TxccjVDQNJyLQ6r" +
	"YzuAAKNpuO58RbdGDQHA9KyfLCEcTxYAMbp6X5kaBZVp2VCMRzbTLUIDzPNVCTrNIaJioAaMeiCG5NUzieqRNalLABFjZMIHDbtGynDIJZruW52+CLIZpWbEOiRXr2Tx" +
	"xgGYp5Fie5mAYBgIgSFDrDOIZUmQZYiECXJUjIEQ3lUGgbEIRQcg+Hg8DEFxYFuOR/i+X5znufh/omBgCgCVwjn4BoBmCCAmAqApgkefgMgOYQID4DoELsUgTgUYYIC4" +
	"F4GGGSAaBuBxhhgfgggUYgog4EYJGIaBJn6ChiBiLgsgkIpoj4J4BCMSJWDaDZjgiZgCEAQCAgA==");
	_ObjectCallMethod( appearance , "Add", 2,"CP:1 -2 -2 2 2");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "AllowSelectObjects", 0);
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2002");
	_ObjectSetProperty( chart , "SelBarColor", 33554432);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(0) = 48");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Task");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Task");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/2/2002","1/4/2002","A");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/6/2002","1/10/2002","B");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/11/2002","1/14/2002","C");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`B`,257) = True");
_ObjectCallMethod( g2antt , "EndUpdate");

1844
How can I change the bar's color (sample 3, ebn, individual, global)

OBJECT appearance,bar,chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
appearance = _ObjectGetProperty( g2antt , "VisualAppearance");
	_ObjectSetProperty( appearance , "RenderType", -2);
	_ObjectCallMethod( appearance , "Add", 1,"gBFLBCJwBAEHhEJAAEhABN0GACAADACAxRDAMgBQKAAzQFAYahuGSGAAGMYxQgmFgAQhFcZQSKUOQTDKMIziYBYJhEMQyDAAUIjOKsIhkGYcZAGQBJCjWGodQLOEgwH" +
	"IERQjEyUJAGGQIHhyPYbUbGUpQHKkeRtGqgBgoKhKEouNYgAbGYIwTRsdyfDSXBpEWwbDgkNQwWTDNoRDIUQStCysaYjOpnfrUAJ1P7FdQ1NJkXRhGSSK7maapaiCSZ6" +
	"STCMj1FhVKSNJ7DQKhGpgKh/ApgYpQOK4fLNXyRBK4QAyKA6bgPFZOZbFViaXY1V5bNKrcjhHQwAyHJ4XXRdV4YRAkUT4GqiJKGSYcQhuXZWbRqO6ABhef6DRThc6jKp" +
	"FHIE4llEcojHqSZNgoIxnlgd5thsLREleL43gsYZ9BkaAYkMAgAm+CxGDWWAtiKCRfjcdRgHoHYnicUwgAIEIREAaQYkcQZUHIGRUDQJBOEYRAhDYCxGgMZAkCgdYQha" +
	"XQIAYERwQuahXggdgeG6VZ4H4IhdiIGIOB8YIiGiHZZgqYpGF4KYHiKCI+CAU5jCiTQ2g0YhEFyax4gABAEIC");
	_ObjectCallMethod( appearance , "Add", 2,"gBFLBCJwBAEHhEJAAEhABU0IQAAYAQGKQYhiAKBQAGaAoDDcMA4QwAAyjAKMEwsACEIrjKCRShyCYZRhGcTAJBMIhiGQYAChEZxVhEMgzDjIAxSJAcQRFESaAABGCQG" +
	"h+N4/S4NIi0CIsZQjCaiZ7pKA5bgMCo+UrNMixZQVCSOGChYRpCaZWpGGodQRUFbVHAlKypJKCKrEWSrDhuYAAW7XM7yBS1TzVNSuLZtaLqSroAJ1WTWMB0Ra8NzZEKf" +
	"aZACj4arKejrRDCMAggI=");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Task");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 128");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	bar = _ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Bars.Item(`Task`)");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim barObj")
		_ObjectCallMethod(g2antt, "TemplatePut", bar)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "barObj.Def(4) = 18");
		_ObjectSetProperty( bar , "Color", 16777216);
	bar = _ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Bars.Item(`Summary`)");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "barObj.Def(4) = 18");
		_ObjectSetProperty( bar , "Color", 33554432);
items = _ObjectGetProperty( g2antt , "Items");
	hSummaryJ = _ObjectCallMethod( items , "AddItem", "Summary A");
	_ObjectCallMethod( items , "AddBar", hSummaryJ,"Summary","1/2/2001","1/2/2001","J");
	hTaskJ = _ObjectCallMethod( items , "InsertItem", hSummaryJ,"","Task A.1");
	_ObjectCallMethod( items , "AddBar", hTaskJ,"Task","1/2/2001","1/5/2001","J1");
	hTaskJ = _ObjectCallMethod( items , "InsertItem", hSummaryJ,"","Task A.2");
	_ObjectCallMethod( items , "AddBar", hTaskJ,"Task","1/4/2001","1/8/2001","J2");
	_ObjectCallMethod( items , "DefineSummaryBars", hSummaryJ,"J",-1,"<*>");
	hSummaryK = _ObjectCallMethod( items , "AddItem", "Summary B");
	_ObjectCallMethod( items , "AddBar", hSummaryK,"Summary","1/2/2001","1/2/2001","K");
	hTaskK = _ObjectCallMethod( items , "InsertItem", hSummaryK,"","Task B.1");
	_ObjectCallMethod( items , "AddBar", hTaskK,"Task","1/2/2001","1/5/2001","K1");
	hTaskK = _ObjectCallMethod( items , "InsertItem", hSummaryK,"","Task B.2");
	_ObjectCallMethod( items , "AddBar", hTaskK,"Task","1/4/2001","1/8/2001","K2");
	_ObjectCallMethod( items , "DefineSummaryBars", hSummaryK,"K",-1,"<*>");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(0,`<K*>`,33) = 255");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ExpandItem(0) = True");
_ObjectCallMethod( g2antt , "EndUpdate");

1843
How can I change the bar's color (sample 2, global)

OBJECT bar,chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Task");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 128");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	bar = _ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Bars.Item(`Task`)");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim barObj")
		_ObjectCallMethod(g2antt, "TemplatePut", bar)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "barObj.Def(4) = 18");
		_ObjectSetProperty( bar , "Color", 255);
	bar = _ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Bars.Item(`Summary`)");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "barObj.Def(4) = 18");
		_ObjectSetProperty( bar , "Color", 255);
		_ObjectSetProperty( bar , "StartColor", _ObjectGetProperty( bar , "Color"));
		_ObjectSetProperty( bar , "EndColor", _ObjectGetProperty( bar , "Color"));
items = _ObjectGetProperty( g2antt , "Items");
	hSummaryJ = _ObjectCallMethod( items , "AddItem", "Summary A");
	_ObjectCallMethod( items , "AddBar", hSummaryJ,"Summary","1/2/2001","1/2/2001","J");
	hTaskJ = _ObjectCallMethod( items , "InsertItem", hSummaryJ,"","Task A.1");
	_ObjectCallMethod( items , "AddBar", hTaskJ,"Task","1/2/2001","1/5/2001","J1");
	hTaskJ = _ObjectCallMethod( items , "InsertItem", hSummaryJ,"","Task A.2");
	_ObjectCallMethod( items , "AddBar", hTaskJ,"Task","1/4/2001","1/8/2001","J2");
	_ObjectCallMethod( items , "DefineSummaryBars", hSummaryJ,"J",-1,"<*>");
	hSummaryK = _ObjectCallMethod( items , "AddItem", "Summary B");
	_ObjectCallMethod( items , "AddBar", hSummaryK,"Summary","1/2/2001","1/2/2001","K");
	hTaskK = _ObjectCallMethod( items , "InsertItem", hSummaryK,"","Task B.1");
	_ObjectCallMethod( items , "AddBar", hTaskK,"Task","1/2/2001","1/5/2001","K1");
	hTaskK = _ObjectCallMethod( items , "InsertItem", hSummaryK,"","Task B.2");
	_ObjectCallMethod( items , "AddBar", hTaskK,"Task","1/4/2001","1/8/2001","K2");
	_ObjectCallMethod( items , "DefineSummaryBars", hSummaryK,"K",-1,"<*>");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ExpandItem(0) = True");
_ObjectCallMethod( g2antt , "EndUpdate");

1842
How can I change the bar's color (sample 1, individual)

OBJECT chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Task");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 128");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Bars.Item(`Task`).Def(4) = 18");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Bars.Item(`Summary`).Def(4) = 18");
items = _ObjectGetProperty( g2antt , "Items");
	hSummaryJ = _ObjectCallMethod( items , "AddItem", "Summary A");
	_ObjectCallMethod( items , "AddBar", hSummaryJ,"Summary","1/2/2001","1/2/2001","J","  (default)");
	hTaskJ = _ObjectCallMethod( items , "InsertItem", hSummaryJ,"","Task A.1");
	_ObjectCallMethod( items , "AddBar", hTaskJ,"Task","1/2/2001","1/5/2001","J1","(default)");
	hTaskJ = _ObjectCallMethod( items , "InsertItem", hSummaryJ,"","Task A.2");
	_ObjectCallMethod( items , "AddBar", hTaskJ,"Task","1/4/2001","1/8/2001","J2","(default)");
	_ObjectCallMethod( items , "DefineSummaryBars", hSummaryJ,"J",-1,"<*>");
	hSummaryK = _ObjectCallMethod( items , "AddItem", "Summary B");
	_ObjectCallMethod( items , "AddBar", hSummaryK,"Summary","1/2/2001","1/2/2001","K");
	hTaskK = _ObjectCallMethod( items , "InsertItem", hSummaryK,"","Task B.1");
	_ObjectCallMethod( items , "AddBar", hTaskK,"Task","1/2/2001","1/5/2001","K1");
	hTaskK = _ObjectCallMethod( items , "InsertItem", hSummaryK,"","Task B.2");
	_ObjectCallMethod( items , "AddBar", hTaskK,"Task","1/4/2001","1/8/2001","K2");
	_ObjectCallMethod( items , "DefineSummaryBars", hSummaryK,"K",-1,"<*>");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,hSummaryK")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", hSummaryK)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(hSummaryK,``,33) = 255");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(0,`<K*>`,33) = 255");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ExpandItem(0) = True");
_ObjectCallMethod( g2antt , "EndUpdate");

1841
How do I make the control read-only (method 2)

// Edit event - Occurs just before editing the focused cell.
FUNCTION g2anttEvents_Edit(OBJECT g2antt, INT Item, INT ColIndex, INT Cancel)
	Cancel = -1;
END

OBJECT column,editor,g2antt,items;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
editor = _ObjectGetProperty( _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Editor") , "Editor");
	_ObjectSetProperty( editor , "EditType", 6);
	_ObjectCallMethod( editor , "AddItem", 1,"One");
	_ObjectCallMethod( editor , "AddItem", 2,"Two");
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Check");
	editor = _ObjectGetProperty( column , "Editor");
		_ObjectSetProperty( editor , "EditType", 19);
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim ediObj")
		_ObjectCallMethod(g2antt, "TemplatePut", editor)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "ediObj.Option(16) = 2");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(AddItem(1),1) = 0");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(AddItem(2),1) = 1");
_ObjectCallMethod( g2antt , "EndUpdate");

1840
How do I make the control read-only (method 1)

OBJECT column,editor,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "ReadOnly", -1);
editor = _ObjectGetProperty( _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Editor") , "Editor");
	_ObjectSetProperty( editor , "EditType", 6);
	_ObjectCallMethod( editor , "AddItem", 1,"One");
	_ObjectCallMethod( editor , "AddItem", 2,"Two");
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Check");
	editor = _ObjectGetProperty( column , "Editor");
		_ObjectSetProperty( editor , "EditType", 19);
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim ediObj")
		_ObjectCallMethod(g2antt, "TemplatePut", editor)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "ediObj.Option(16) = 2");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(AddItem(1),1) = 0");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(AddItem(2),1) = 1");
_ObjectCallMethod( g2antt , "EndUpdate");

1839
The ReadOnly property does not prevent changing the column's check-box (sample 2)

OBJECT column,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "ShowFocusRect", 0);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "C1");
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "Width", 18);
	_ObjectSetProperty( _ObjectGetProperty( column , "Editor") , "EditType", 19);
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "C2");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(AddItem(0),1) = `Item 1`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(AddItem(-1),1) = `Item 2`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(AddItem(0),1) = `Item 3`");
_ObjectSetProperty( g2antt , "ReadOnly", -1);
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Item(0).Editor.Option(17) = 2");
_ObjectCallMethod( g2antt , "EndUpdate");

1838
The ReadOnly property does not prevent changing the column's check-box (sample 1)

OBJECT column,editor,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "ShowFocusRect", 0);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "C1");
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "Width", 18);
	editor = _ObjectGetProperty( column , "Editor");
		_ObjectSetProperty( editor , "EditType", 19);
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim ediObj")
		_ObjectCallMethod(g2antt, "TemplatePut", editor)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "ediObj.Option(17) = 1");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "C2");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(AddItem(0),1) = `Item 1`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(AddItem(-1),1) = `Item 2`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(AddItem(0),1) = `Item 3`");
_ObjectSetProperty( g2antt , "ReadOnly", -1);
_ObjectCallMethod( g2antt , "EndUpdate");

1837
How can I change the visual appearance of the control's split bar (sample 3)

OBJECT appearance,chart,g2antt;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Default");
appearance = _ObjectGetProperty( g2antt , "VisualAppearance");
	_ObjectCallMethod( appearance , "Add", 1,"gBFLBCJwBAEHhEJAAEhABPsIQAAYAQGKQYhiAKBQAGaAoDDcMA4QwAAyjAKMEwsACEIrjKCRShyCYZRrGUQxCKIZhzEgYRokAYYRDIMg5SBIETzFIMCQ9AaaJpieRJG" +
	"iiKoJSxHErgFD8QxzEKOZqnCapViAMpOAZQAwDAIoWhpKKBRhqOpRUhaID/WAAFCUZK4ASTDCyLRgNy4lACgI");
	_ObjectCallMethod( appearance , "Add", 2,"gBFLBCJwBAEHhEJAAEhABPkIQAAYAQGKQYhiAKBQAGaAoDDcMA4QwAAyjAKMEwsACEIrjKCRShyCYZRrGUQxCKIZhzEgYRoiEYhXDiIAxARHcgyBIMPQJGSaZpkSRpI" +
	"iqHItS6BM4RVKkcw7G6BaJnGJpADKTQGQiMIwDAIoWhpKCBaiqSpqMglf5fg6pOJqHACZZKWLNLpxDBMAkBA=");
	_ObjectCallMethod( appearance , "Add", 3,"gBFLBCJwBAEHhEJAAEhABUUIQAAYAQGKQYhiAKBQAGaAoDDcMA4QwAAyjAKMEwsACEIrjKCRShyCYZRrGQCwTCIYhmHKSRhGSIRSDcOIgDCBEbyDIEQw9AiZZqmaRZH" +
	"imK4cS5MEhwHKsLSLGyOZwoSapbgmJooU5KUwSYKQcxBI6laYpIAKJhiWobTxUEBwMKlJw5KoBJxjKqIbp2XZsUxIAxXEA1HBgGASRZGS5bDreeQ0UZCL74GAFUy/Lib" +
	"a6weqnLhGCYBgIA==");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Background(18) = 25198720");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Background(141) = 41975936");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Background(142) = 50397441");
_ObjectSetProperty( g2antt , "BackColorLevelHeader", _ObjectGetProperty( g2antt , "BackColor"));
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 64");
	_ObjectSetProperty( chart , "HistogramVisible", -1);
	_ObjectSetProperty( chart , "HistogramHeight", 64);
	_ObjectSetProperty( chart , "OverviewHeight", 48);
	_ObjectSetProperty( chart , "OverviewVisible", -1);
_ObjectCallMethod( g2antt , "EndUpdate");

1836
How can I change the color for the control's split bar (sample 2)

OBJECT chart,g2antt;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Default");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Background(18) = 12500670");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Background(141) = 8421504");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Background(142) = 65536");
_ObjectSetProperty( g2antt , "BackColorLevelHeader", _ObjectGetProperty( g2antt , "BackColor"));
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 64");
	_ObjectSetProperty( chart , "HistogramVisible", -1);
	_ObjectSetProperty( chart , "HistogramHeight", 64);
	_ObjectSetProperty( chart , "OverviewHeight", 48);
	_ObjectSetProperty( chart , "OverviewVisible", -1);
_ObjectCallMethod( g2antt , "EndUpdate");

1835
How do I highlight a bar with an icon, exclamation mark or some warning sign, without using exBarCaption, exBarExtraCaption which I've already use for something else ( sample 2 )

OBJECT chart,g2antt,items,note,notes;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "FirstVisibleDate", "12/26/2000");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 128");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Column");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddItem", "");
	h = _ObjectCallMethod( items , "AddItem", "Item");
	_ObjectCallMethod( items , "AddItem", "");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/1/2001","1/13/2001","A");
notes = _ObjectGetProperty( _ObjectGetProperty( g2antt , "Chart") , "Notes");
	note = _ObjectCallMethod( notes , "Add", "Attention",_ObjectCallMethod(g2antt, "ExecuteTemplate", ".Items.ItemByIndex(1)"),"A"," <font ;11>! ");
		_ObjectSetProperty( note , "RelativePosition", 0.5);
		_ObjectSetProperty( note , "ShowLink", 0);
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim notObj")
		_ObjectCallMethod(g2antt, "TemplatePut", note)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "notObj.PartVOffset(1) = 0");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "notObj.PartShadow(1) = False");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "notObj.PartBackColor(1) = 65535");
_ObjectCallMethod( g2antt , "EndUpdate");

1834
How do I highlight a bar with an icon, exclamation mark or some warning sign, without using exBarCaption, exBarExtraCaption which I've already use for something else ( sample 1 )

OBJECT chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "FirstVisibleDate", "12/26/2000");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 128");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Column");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddItem", "");
	h = _ObjectCallMethod( items , "AddItem", "Item");
	_ObjectCallMethod( items , "AddItem", "");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/1/2001","1/13/2001","A");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`A`,53) = `[text=`<bgcolor=FFFF00><font ;11> ! `,align=0x11]`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`A`,55) = 8");
_ObjectCallMethod( g2antt , "EndUpdate");

1833
How do I get the "Summary" bar being shown in the control's histogram (sample 2)

OBJECT bar,chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Task");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "VisualAppearance") , "Add", 1,"gBFLBCJwBAEHhEJAAEhABU0IQAAYAQGKQYhiAKBQAGaAoDDcMA4QwAAyjAKMEwsACEIrjKCRShyCYZRhGcTAJBMIhiGQYAChEZxVhEMgzDjIAxSJAcQRFESaAABGCQG" +
	"h+N4/S4NIi0CIsZQjCaiZ7pKA5bgMCo+UrNMixZQVCSOGChYRpCaZWpGGodQRUFbVHAlKypJKCKrEWSrDhuYAAW7XM7yBS1TzVNSuLZtaLqSroAJ1WTWMB0Ra8NzZEKf" +
	"aZACj4arKejrRDCMAggI=");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 128");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	_ObjectSetProperty( chart , "HistogramVisible", -1);
	_ObjectSetProperty( chart , "HistogramHeight", 64);
	_ObjectSetProperty( chart , "HistogramView", 1136);
	bar = _ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Bars.Item(`Task`)");
		_ObjectSetProperty( bar , "HistogramPattern", _ObjectGetProperty( bar , "Pattern"));
		_ObjectSetProperty( bar , "HistogramType", 256);
		_ObjectSetProperty( bar , "HistogramCumulativeOriginalColorBars", 1);
items = _ObjectGetProperty( g2antt , "Items");
	hSummary = _ObjectCallMethod( items , "AddItem", "Summary");
	_ObjectCallMethod( items , "AddBar", hSummary,"Task","1/2/2001","1/2/2001","");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,hSummary")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", hSummary)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(hSummary,``,33) = 16777216");
	hTask = _ObjectCallMethod( items , "InsertItem", hSummary,"","Task A");
	_ObjectCallMethod( items , "AddBar", hTask,"Task","1/2/2001","1/5/2001","K1");
	hTask = _ObjectCallMethod( items , "InsertItem", hSummary,"","Task B");
	_ObjectCallMethod( items , "AddBar", hTask,"Task","1/4/2001","1/8/2001","K2");
	hTask = _ObjectCallMethod( items , "InsertItem", hSummary,"","Task C");
	_ObjectCallMethod( items , "AddBar", hTask,"Task","1/12/2001","1/17/2001","K3");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ExpandItem(hSummary) = True");
	_ObjectCallMethod( items , "DefineSummaryBars", hSummary,"",-1,"<*>");
_ObjectCallMethod( g2antt , "EndUpdate");

1832
How do I get the "Summary" bar being shown in the control's histogram (sample 1)

OBJECT bar,chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "VisualAppearance") , "Add", 1,"gBFLBCJwBAEHhEJAAEhABU0IQAAYAQGKQYhiAKBQAGaAoDDcMA4QwAAyjAKMEwsACEIrjKCRShyCYZRhGcTAJBMIhiGQYAChEZxVhEMgzDjIAxSJAcQRFESaAABGCQG" +
	"h+N4/S4NIi0CIsZQjCaiZ7pKA5bgMCo+UrNMixZQVCSOGChYRpCaZWpGGodQRUFbVHAlKypJKCKrEWSrDhuYAAW7XM7yBS1TzVNSuLZtaLqSroAJ1WTWMB0Ra8NzZEKf" +
	"aZACj4arKejrRDCMAggI=");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Task");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 128");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	_ObjectSetProperty( chart , "HistogramVisible", -1);
	_ObjectSetProperty( chart , "HistogramHeight", 64);
	_ObjectSetProperty( chart , "HistogramView", 1136);
	bar = _ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Bars.Item(`Task`)");
		_ObjectSetProperty( bar , "HistogramPattern", _ObjectGetProperty( bar , "Pattern"));
	bar = _ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Bars.Item(`Summary`)");
		_ObjectSetProperty( bar , "Color", 16777216);
		_ObjectSetProperty( bar , "HistogramColor", 65536);
		_ObjectSetProperty( bar , "HistogramPattern", 6);
items = _ObjectGetProperty( g2antt , "Items");
	hSummary = _ObjectCallMethod( items , "AddItem", "Summary");
	_ObjectCallMethod( items , "AddBar", hSummary,"Summary","1/2/2001","1/2/2001","");
	hTask = _ObjectCallMethod( items , "InsertItem", hSummary,"","Task A");
	_ObjectCallMethod( items , "AddBar", hTask,"Task","1/2/2001","1/5/2001","K1");
	hTask = _ObjectCallMethod( items , "InsertItem", hSummary,"","Task B");
	_ObjectCallMethod( items , "AddBar", hTask,"Task","1/4/2001","1/8/2001","K2");
	hTask = _ObjectCallMethod( items , "InsertItem", hSummary,"","Task C");
	_ObjectCallMethod( items , "AddBar", hTask,"Task","1/12/2001","1/17/2001","K3");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,hSummary")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", hSummary)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ExpandItem(hSummary) = True");
	_ObjectCallMethod( items , "DefineSummaryBars", hSummary,"",-1,"<*>");
_ObjectCallMethod( g2antt , "EndUpdate");

1831
How can I temporarily/programmatically hide the control's tooltip

// RClick event - Fired when right mouse button is clicked
FUNCTION g2anttEvents_RClick()
	nToolTipDelay = _ObjectGetProperty( g2antt , "ToolTipDelay");
	_ObjectSetProperty( g2antt , "ToolTipDelay", 0);
	_ObjectSetProperty( g2antt , "ToolTipDelay", nToolTipDelay);
END

OBJECT chart,g2antt;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Column w/h tooltip...") , "ToolTip", "This is a bit of text that's shown when the cursor hovers the column.<br><br><sha ;;0><c>Right-Click to hide it</sha>");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "FirstWeekDay", _ObjectGetProperty( chart , "LocFirstWeekDay"));
	_ObjectSetProperty( chart , "MonthNames", _ObjectGetProperty( chart , "LocMonthNames"));
	_ObjectSetProperty( chart , "WeekDays", _ObjectGetProperty( chart , "LocWeekDays"));
	_ObjectSetProperty( chart , "AMPM", _ObjectGetProperty( chart , "LocAMPM"));
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 128");
	_ObjectSetProperty( chart , "UnitScale", 4096);
_ObjectSetProperty( g2antt , "HeaderAppearance", 1);
_ObjectSetProperty( g2antt , "BackColorLevelHeader", _ObjectGetProperty( g2antt , "BackColor"));
_ObjectCallMethod( g2antt , "EndUpdate");

1830
Is it possible to find out the handle of the item, giving the key of the bar only

OBJECT chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "Debug", -1);
_ObjectSetProperty( g2antt , "DefaultItemHeight", 32);
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Task");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 64");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Bars.Item(`Task`).Height = 16");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	_ObjectSetProperty( chart , "ShowLinks", 1);
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Task 1"),"Task","1/2/2001","1/4/2001","K1");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Task 2"),"Task","1/5/2001","1/7/2001","K2");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBold(ItemBar(0,`K2`,512)) = True");
_ObjectCallMethod( g2antt , "EndUpdate");

1829
How can I programmatically add a link between two bars, knowing the keys of these bars only

OBJECT chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "Debug", -1);
_ObjectSetProperty( g2antt , "DefaultItemHeight", 32);
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Task");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 64");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Bars.Item(`Task`).Height = 16");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	_ObjectSetProperty( chart , "ShowLinks", 1);
items = _ObjectGetProperty( g2antt , "Items");
	h1 = _ObjectCallMethod( items , "AddItem", "Task 1");
	_ObjectCallMethod( items , "AddBar", h1,"Task","1/2/2001","1/4/2001","K1");
	h2 = _ObjectCallMethod( items , "AddItem", "Task 2");
	_ObjectCallMethod( items , "AddBar", h2,"Task","1/5/2001","1/7/2001","AK2");
	h3 = _ObjectCallMethod( items , "AddItem", "Task 3");
	_ObjectCallMethod( items , "AddBar", h3,"Task","1/5/2001","1/7/2001","AK3");
	_ObjectCallMethod( items , "AddLink", "Link1",0,"K1",0,"AK2");
	_ObjectCallMethod( items , "AddLink", "Link2",0,"K1",0,"<A?3>");
	_ObjectCallMethod( items , "AddLink", "Link3",0,"<*2>",0,"AK3");
_ObjectCallMethod( g2antt , "EndUpdate");

1828
I'm trying to use automatic numbering of the outline. How can I have A, B, C for root items, 1, 2, 3 for the sub-items, and a, b, c for sub-sub-items (sample 3)

OBJECT column,columns,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "LinesAtRoot", -1);
_ObjectSetProperty( g2antt , "DrawGridLines", -2);
_ObjectSetProperty( g2antt , "AutoDrag", 3);
_ObjectSetProperty( g2antt , "HasLines", 1);
_ObjectSetProperty( g2antt , "Indent", 16);
_ObjectSetProperty( g2antt , "MarkSearchColumn", 0);
columns = _ObjectGetProperty( g2antt , "Columns");
	column = _ObjectCallMethod( columns , "Add", "");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim colObj")
		_ObjectCallMethod(g2antt, "TemplatePut", column)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(17) = 1");
		_ObjectSetProperty( column , "FormatColumn", "((1:=(0 :=(1 rpos '.|A-Z||a-z|')) rfind `.`) < 0 ? `<b>` + =:0 + `` :  (=:0 mid (1 + 1 + =:1) )  + `)` ) + ` ` + value");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Root");
	_ObjectCallMethod( items , "InsertItem", h,"","Child");
	hChild = _ObjectCallMethod( items , "InsertItem", h,"","Child");
	_ObjectCallMethod( items , "InsertItem", hChild,"","Child");
	_ObjectCallMethod( items , "InsertItem", hChild,"","Child");
	_ObjectCallMethod( items , "InsertItem", hChild,"","Child");
	_ObjectCallMethod( items , "InsertItem", h,"","Child");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ExpandItem(0) = True");
	h = _ObjectCallMethod( items , "AddItem", "Root");
	_ObjectCallMethod( items , "InsertItem", h,"","Child");
	hChild = _ObjectCallMethod( items , "InsertItem", h,"","Child");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,hChild")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", hChild)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellState(hChild,0) = 1");
	_ObjectCallMethod( items , "InsertItem", hChild,"","Child");
	_ObjectCallMethod( items , "InsertItem", hChild,"","Child");
	_ObjectCallMethod( items , "InsertItem", hChild,"","Child");
	_ObjectCallMethod( items , "InsertItem", h,"","Child");
_ObjectCallMethod( g2antt , "EndUpdate");

1827
I'm trying to use automatic numbering of the outline. How can I have A, B, C for root items, 1, 2, 3 for the sub-items, and a, b, c for sub-sub-items (sample 2)

OBJECT column,columns,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "LinesAtRoot", -1);
_ObjectSetProperty( g2antt , "GridLineColor", 12500670);
_ObjectSetProperty( g2antt , "DrawGridLines", -2);
_ObjectSetProperty( g2antt , "AutoDrag", 3);
_ObjectSetProperty( g2antt , "HasLines", 1);
_ObjectSetProperty( g2antt , "Indent", 16);
columns = _ObjectGetProperty( g2antt , "Columns");
	_ObjectCallMethod( columns , "Add", "Default");
	column = _ObjectCallMethod( columns , "Add", "");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim colObj")
		_ObjectCallMethod(g2antt, "TemplatePut", column)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(17) = 1");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(49) = 4");
		_ObjectSetProperty( column , "AllowSizing", 0);
		_ObjectSetProperty( column , "Width", 36);
		_ObjectSetProperty( column , "Position", 0);
		_ObjectSetProperty( column , "FormatColumn", "(1:=(0 :=(1 rpos '.|A-Z||a-z|')) rfind `.`) < 0 ? `<b>` + =:0 : (`............` left 2 * (=:0 count `.`)) + (=:0 mid (1 + 1 + =" +
	":1) ) ");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Root");
	_ObjectCallMethod( items , "InsertItem", h,"","Child");
	hChild = _ObjectCallMethod( items , "InsertItem", h,"","Child");
	_ObjectCallMethod( items , "InsertItem", hChild,"","Child");
	_ObjectCallMethod( items , "InsertItem", hChild,"","Child");
	_ObjectCallMethod( items , "InsertItem", hChild,"","Child");
	_ObjectCallMethod( items , "InsertItem", h,"","Child");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ExpandItem(0) = True");
	h = _ObjectCallMethod( items , "AddItem", "Root");
	_ObjectCallMethod( items , "InsertItem", h,"","Child");
	hChild = _ObjectCallMethod( items , "InsertItem", h,"","Child");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,hChild")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", hChild)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellState(hChild,0) = 1");
	_ObjectCallMethod( items , "InsertItem", hChild,"","Child");
	_ObjectCallMethod( items , "InsertItem", hChild,"","Child");
	_ObjectCallMethod( items , "InsertItem", hChild,"","Child");
	_ObjectCallMethod( items , "InsertItem", h,"","Child");
_ObjectCallMethod( g2antt , "EndUpdate");

1826
I'm trying to use automatic numbering of the outline. How can I have A, B, C for root items, 1, 2, 3 for the sub-items, and a, b, c for sub-sub-items (sample 1)

OBJECT column,columns,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "LinesAtRoot", -1);
_ObjectSetProperty( g2antt , "DrawGridLines", -2);
_ObjectSetProperty( g2antt , "AutoDrag", 3);
_ObjectSetProperty( g2antt , "HasLines", 1);
_ObjectSetProperty( g2antt , "Indent", 16);
columns = _ObjectGetProperty( g2antt , "Columns");
	_ObjectCallMethod( columns , "Add", "Default");
	column = _ObjectCallMethod( columns , "Add", "");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim colObj")
		_ObjectCallMethod(g2antt, "TemplatePut", column)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(17) = 1");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(49) = 4");
		_ObjectSetProperty( column , "Alignment", 2);
		_ObjectSetProperty( column , "AllowSizing", 0);
		_ObjectSetProperty( column , "Width", 24);
		_ObjectSetProperty( column , "Position", 0);
		_ObjectSetProperty( column , "FormatColumn", "(1:=(0 :=(1 rpos '.|A-Z||a-z|')) rfind `.`) < 0 ? `<b>` + =:0 : `<i>` + (=:0 mid (1 + 1 + =:1) ) ");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Root");
	_ObjectCallMethod( items , "InsertItem", h,"","Child");
	hChild = _ObjectCallMethod( items , "InsertItem", h,"","Child");
	_ObjectCallMethod( items , "InsertItem", hChild,"","Child");
	_ObjectCallMethod( items , "InsertItem", hChild,"","Child");
	_ObjectCallMethod( items , "InsertItem", hChild,"","Child");
	_ObjectCallMethod( items , "InsertItem", h,"","Child");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ExpandItem(0) = True");
	h = _ObjectCallMethod( items , "AddItem", "Root");
	_ObjectCallMethod( items , "InsertItem", h,"","Child");
	hChild = _ObjectCallMethod( items , "InsertItem", h,"","Child");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,hChild")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", hChild)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellState(hChild,0) = 1");
	_ObjectCallMethod( items , "InsertItem", hChild,"","Child");
	_ObjectCallMethod( items , "InsertItem", hChild,"","Child");
	_ObjectCallMethod( items , "InsertItem", hChild,"","Child");
	_ObjectCallMethod( items , "InsertItem", h,"","Child");
_ObjectCallMethod( g2antt , "EndUpdate");

1825
How can I programmatically group by columns, without having the control's sort bar visible

OBJECT g2antt,rs;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Chart.PaneWidth(True) = 0");
_ObjectSetProperty( g2antt , "ColumnAutoResize", 0);
rs = CreateObject("ADOR.Recordset");
	_ObjectCallMethod( rs , "Open", "Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExG2antt\Sample\Access\misc.accdb",3,3);
_ObjectSetProperty( g2antt , "DataSource", rs);
_ObjectSetProperty( g2antt , "SortBarHeight", 0);
_ObjectSetProperty( g2antt , "SortBarVisible", -1);
_ObjectSetProperty( g2antt , "SortBarCaption", "Drag a <b>column</b> header here to group by that column.");
_ObjectSetProperty( g2antt , "AllowGroupBy", -1);
_ObjectSetProperty( g2antt , "Layout", "multiplesort=^"C1:2^"");
_ObjectCallMethod( g2antt , "EndUpdate");

1824
How do I perform my own sort

// Sort event - Fired when the control sorts a column.
FUNCTION g2anttEvents_Sort()
	OBJECT items;
	Message( "Sort" );
	items = _ObjectGetProperty( g2antt , "Items");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
		_ObjectCallMethod(g2antt, "TemplatePut", items)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemPosition(ItemByIndex(1)) = 0");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemPosition(ItemByIndex(0)) = 1");
END

OBJECT columns,g2antt,items;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "SingleSort", 0);
_ObjectSetProperty( g2antt , "SortOnClick", 1);
columns = _ObjectGetProperty( g2antt , "Columns");
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "Index") , "FormatColumn", "0 index ``");
	_ObjectCallMethod( columns , "Add", "Data 1");
	_ObjectCallMethod( columns , "Add", "Data 2");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", 0);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = 2");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,2) = 3");
	h = _ObjectCallMethod( items , "AddItem", 4);
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = 5");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,2) = 6");
	h = _ObjectCallMethod( items , "AddItem", 7);
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = 8");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,2) = 9");
_ObjectSetProperty( g2antt , "Layout", "multiplesort=^"C1:1 C2:2^"");
_ObjectCallMethod( g2antt , "EndUpdate");

1823
Is it possible to have a different alignment for parts of the cell's caption

OBJECT column,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Chart.PaneWidth(True) = True");
_ObjectSetProperty( g2antt , "TreeColumnIndex", -1);
_ObjectSetProperty( g2antt , "DrawGridLines", -2);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Default");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(g2antt, "TemplatePut", column)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(0) = True");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellHAlignment(AddItem(`all-left`),0) = 0");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellHAlignment(AddItem(`all-center`),0) = 1");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellHAlignment(AddItem(`all-right`),0) = 2");
	h = _ObjectCallMethod( items , "AddItem", "left<c>center<r>right");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValueFormat(h,0) = 1");
_ObjectCallMethod( g2antt , "EndUpdate");

1822
I have a column with Def(exCellSingleLine) property on False, word-wrapping, and I am wondering if possible to update the column's content while user is resizing it
OBJECT column,columns,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Chart.PaneWidth(True) = 0");
columns = _ObjectGetProperty( g2antt , "Columns");
	column = _ObjectCallMethod( columns , "Add", "MultipleLine");
		_ObjectSetProperty( column , "Width", 32);
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim colObj")
		_ObjectCallMethod(g2antt, "TemplatePut", column)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(16) = False");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(64) = True");
	column = _ObjectCallMethod( columns , "Add", "SingleLine");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(16) = False");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(AddItem(`This is a bit of long text that should break the line`),1) = `This is a bit of long text that should break the line`");
_ObjectCallMethod( g2antt , "EndUpdate");

1821
Is there an other way to detect if a bar is overlapping any other bar

// BarResizing event - Occurs when a bar is moving or resizing.
FUNCTION g2anttEvents_BarResizing(OBJECT g2antt, INT Item, VARIANT Key)
	_ObjectCallMethod( g2antt , "Refresh");
END

OBJECT bar,chart,column,g2antt,items;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "DrawGridLines", 2);
_ObjectSetProperty( g2antt , "HeaderAppearance", 4);
_ObjectSetProperty( g2antt , "BackColorLevelHeader", _ObjectGetProperty( g2antt , "BackColor"));
_ObjectSetProperty( g2antt , "DefaultItemHeight", 22);
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Task");
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Intersect / Count");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(g2antt, "TemplatePut", column)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(19) = `A`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(18) = 521");
	_ObjectSetProperty( column , "LevelKey", 1);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", " / With");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(19) = `A`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(18) = 520");
	_ObjectSetProperty( column , "LevelKey", 1);
_ObjectSetProperty( _ObjectGetProperty( g2antt , "Items") , "AllowCellValueToItemBar", -1);
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 148");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	bar = _ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Bars.Item(`Task`)");
		_ObjectSetProperty( bar , "OverlaidType", 1);
		_ObjectSetProperty( bar , "OverlaidGroup", "TaskB");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim barObj")
		_ObjectCallMethod(g2antt, "TemplatePut", bar)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "barObj.Def(4) = 16");
	bar = _ObjectCallMethod( _ObjectGetProperty( chart , "Bars") , "Add", "TaskB");
		_ObjectSetProperty( bar , "Pattern", 6);
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "barObj.Def(4) = 18");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "A");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/2/2001","1/4/2001","A","A");
	_ObjectCallMethod( items , "AddBar", h,"TaskB","1/3/2001","1/5/2001","B","B");
	h = _ObjectCallMethod( items , "AddItem", "A");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/6/2001","1/9/2001","A","A");
	_ObjectCallMethod( items , "AddBar", h,"TaskB","1/10/2001","1/13/2001","B","B");
	h = _ObjectCallMethod( items , "AddItem", "A");
	_ObjectCallMethod( items , "AddBar", h,"TaskB","1/6/2001","1/9/2001","B1","B1");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/10/2001","1/13/2001","A","A");
	_ObjectCallMethod( items , "AddBar", h,"TaskB","1/10/2001","1/13/2001","B2","B2");
	h = _ObjectCallMethod( items , "AddItem", "A");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/8/2001","1/11/2001","B1","B1");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/10/2001","1/13/2001","A","A");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/12/2001","1/15/2001","B2","B2");
_ObjectCallMethod( g2antt , "EndUpdate");

1820
How can I get the absolute position of an item
// AddItem event - Occurs after a new Item has been inserted to Items collection.
FUNCTION g2anttEvents_AddItem(OBJECT g2antt, INT Item)
	OBJECT items;
	items = _ObjectGetProperty( g2antt , "Items");
		_ObjectCallMethod( items , "AddBar", Item,"Task","1/2/2017","1/5/2017");
END

// MouseMove event - Occurs when the user moves the mouse.
FUNCTION g2anttEvents_MouseMove(OBJECT g2antt, INT Button, INT Shift, INT X, INT Y)
	OBJECT items;
	items = _ObjectGetProperty( g2antt , "Items");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,c,hit")
		_ObjectCallMethod(g2antt, "TemplatePut", items)
		_ObjectCallMethod(g2antt, "TemplatePut", c)
		_ObjectCallMethod(g2antt, "TemplatePut", hit)
		Message( _ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellCaption(Me.ItemFromPoint(-1,-1,c,hit),`Position`)") );
END

OBJECT chart,column,g2antt,items;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2017");
_ObjectSetProperty( g2antt , "BackColorLevelHeader", _ObjectGetProperty( g2antt , "BackColor"));
_ObjectSetProperty( g2antt , "BackColorAlternate", 15790320);
_ObjectSetProperty( g2antt , "LinesAtRoot", -1);
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Def") , "DisplayFilterButton", -1);
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Root");
	_ObjectCallMethod( items , "InsertItem", _ObjectCallMethod( items , "InsertItem", h,"","Child 1"),"","Sub-Child 1");
	_ObjectCallMethod( items , "InsertItem", _ObjectCallMethod( items , "InsertItem", h,"","Child 2"),"","Sub-Child 2");
_ObjectCallMethod( g2antt , "PutItems", _ObjectCallMethod( g2antt , "GetItems", -1));
_ObjectCallMethod( g2antt , "PutItems", _ObjectCallMethod( g2antt , "GetItems", -1));
_ObjectCallMethod( g2antt , "PutItems", _ObjectCallMethod( g2antt , "GetItems", -1));
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Position");
	_ObjectSetProperty( column , "FormatColumn", "1 apos ``");
	_ObjectSetProperty( column , "Visible", 0);
_ObjectCallMethod( g2antt , "EndUpdate");

1819
How do I sort the index column as numeric (Method 2)

// AddItem event - Occurs after a new Item has been inserted to Items collection.
FUNCTION g2anttEvents_AddItem(OBJECT g2antt, INT Item)
	OBJECT items;
	items = _ObjectGetProperty( g2antt , "Items");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,Item")
		_ObjectCallMethod(g2antt, "TemplatePut", items)
		_ObjectCallMethod(g2antt, "TemplatePut", Item)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellData(Item,1) = CellCaption(Item,1)");
END

OBJECT column,g2antt,items;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "DrawGridLines", -1);
_ObjectSetProperty( g2antt , "ColumnAutoResize", -1);
_ObjectSetProperty( g2antt , "ShowFocusRect", 0);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Next");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(g2antt, "TemplatePut", column)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(48) = 4");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(52) = 4");
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Index");
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "Width", 48);
	_ObjectSetProperty( column , "FormatColumn", "(((0 := (1 index ``)) mod 3) case ( default: ``; 0 : `<r><fgcolor=B0B0B0>`; 1: ``; 2 : `<c><fgcolor=808080>` )) + str(=:0)");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(17) = 1");
	_ObjectSetProperty( column , "SortType", 5);
	_ObjectSetProperty( column , "Position", 0);
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddItem", "Item 1");
	_ObjectCallMethod( items , "AddItem", "Item 2");
	_ObjectCallMethod( items , "AddItem", "Item 3");
	_ObjectCallMethod( items , "AddItem", "Item 4");
	_ObjectCallMethod( items , "AddItem", "Item 5");
	_ObjectCallMethod( items , "AddItem", "Item 6");
	_ObjectCallMethod( items , "AddItem", "Item 7");
	_ObjectCallMethod( items , "AddItem", "Item 8");
	_ObjectCallMethod( items , "AddItem", "Item 9");
	_ObjectCallMethod( items , "AddItem", "Item 10");
_ObjectCallMethod( g2antt , "EndUpdate");

1818
How do I sort the index column as numeric (Method 1)

OBJECT column,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Sort Index As String (Default)");
	_ObjectSetProperty( column , "FormatColumn", "1 index ``");
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Sort Index As Numeric");
	_ObjectSetProperty( column , "ComputedField", "%C0");
	_ObjectSetProperty( column , "SortType", 1);
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddItem", "");
	_ObjectCallMethod( items , "AddItem", "");
	_ObjectCallMethod( items , "AddItem", "");
	_ObjectCallMethod( items , "AddItem", "");
	_ObjectCallMethod( items , "AddItem", "");
	_ObjectCallMethod( items , "AddItem", "");
	_ObjectCallMethod( items , "AddItem", "");
	_ObjectCallMethod( items , "AddItem", "");
	_ObjectCallMethod( items , "AddItem", "");
	_ObjectCallMethod( items , "AddItem", "");
_ObjectCallMethod( g2antt , "EndUpdate");

1817
How can I put icons/images into buttons

OBJECT column,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "ColumnAutoResize", -1);
_ObjectCallMethod( g2antt , "Images", "gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq" +
	"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
	"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
	"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=");
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "C+B");
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "Width", 48);
	_ObjectSetProperty( column , "FormatColumn", "` <img>` + ( 1 + (1 index ``) mod 3 ) + `</img> `");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(g2antt, "TemplatePut", column)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(17) = 1");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(0) = True");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(2) = True");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(3) = True");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "");
_ObjectSetProperty( g2antt , "DrawGridLines", 2);
_ObjectSetProperty( g2antt , "DefaultItemHeight", 20);
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddItem", "");
	_ObjectCallMethod( items , "AddItem", "");
	_ObjectCallMethod( items , "AddItem", "");
	_ObjectCallMethod( items , "AddItem", "");
	_ObjectCallMethod( items , "AddItem", "");
	_ObjectCallMethod( items , "AddItem", "");
	_ObjectCallMethod( items , "AddItem", "");
	_ObjectCallMethod( items , "AddItem", "");
_ObjectCallMethod( g2antt , "EndUpdate");

1816
Is it possible to have a CheckBox and Button TOGETHER on all cells in a column

// ButtonClick event - Occurs when user clicks on the cell's button.
FUNCTION g2anttEvents_ButtonClick(OBJECT g2antt, INT Item, INT ColIndex, VARIANT Key)
	Message( "ButtonClick" );
	Message( Item );
	Message( Key );
END

// CellStateChanged event - Fired after cell's state has been changed.
FUNCTION g2anttEvents_CellStateChanged(OBJECT g2antt, INT Item, INT ColIndex)
	Message( "CellStateChanged" );
	Message( Item );
END

OBJECT column,g2antt,items;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "ColumnAutoResize", -1);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "");
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "Width", 32);
	_ObjectSetProperty( column , "FormatColumn", "1 index ``");
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Def");
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "Width", 48);
	_ObjectSetProperty( column , "FormatColumn", "`     `");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(g2antt, "TemplatePut", column)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(0) = True");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(2) = True");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(3) = True");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddItem", "");
	_ObjectCallMethod( items , "AddItem", "");
	_ObjectCallMethod( items , "AddItem", "");
	_ObjectCallMethod( items , "AddItem", "");
	_ObjectCallMethod( items , "AddItem", "");
	_ObjectCallMethod( items , "AddItem", "");
	_ObjectCallMethod( items , "AddItem", "");
	_ObjectCallMethod( items , "AddItem", "");
_ObjectCallMethod( g2antt , "EndUpdate");

1815
Does filtering work with umlauts / accents characters

OBJECT column,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Chart.PaneWidth(True) = 0");
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Names");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterType", 3);
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddItem", "Mantel");
	_ObjectCallMethod( items , "AddItem", "Mechanik");
	_ObjectCallMethod( items , "AddItem", "Motor");
	_ObjectCallMethod( items , "AddItem", "Murks");
	_ObjectCallMethod( items , "AddItem", "Märchen");
	_ObjectCallMethod( items , "AddItem", "Möhren");
	_ObjectCallMethod( items , "AddItem", "Mühle");
	_ObjectCallMethod( items , "AddItem", "Sérigraphie");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Item(0).Filter = `*ä*`");
_ObjectCallMethod( g2antt , "ApplyFilter");
_ObjectCallMethod( g2antt , "EndUpdate");

1814
How can I temporarily disable resizing the overview part of the control

OBJECT chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "BackColorLevelHeader", _ObjectGetProperty( g2antt , "BackColor"));
_ObjectSetProperty( g2antt , "OnResizeControl", 1024);
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 48");
	_ObjectSetProperty( chart , "OverviewVisible", 69890);
	_ObjectSetProperty( chart , "OverviewHeight", 32);
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Column");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Item 1"),"Task","1/2/2001","1/11/2001");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Item 2"),"Task","2/2/2001","2/11/2001");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Item 3"),"Task","3/2/2001","3/11/2001");
_ObjectCallMethod( g2antt , "EndUpdate");

1813
Is it possible to resize the overview part of the control at runtime

OBJECT chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "VisualAppearance") , "Add", 1,"gBFLBCJwBAEHhEJAAEhABVADg6AADACAxSDEMQBQKAAzQFAYbhgHCGAAGUYBRgmFgAQhFcZQSBcEgTDaMYzgMBYJhEMQyDSAUIjPEyMg0DjIIwgJIUaw0GSXIRkGQZC" +
	"hGJooTJQMrTZIEbQxHSkIyRVTmZACS5NRZPYy0FAkQhlFSbJBCOKwVomR5KUxTVg1DJwahLCKULLhGI7KgObIRSJOcZ1XAdCQ0cB0XpAC6LaqSA4nSjKcqwJKEZRJIyj" +
	"JwgSrrWhePoJYBVAAQPQdDYaCivK5uWK6PqKUIlZBQGQVNS1MRrLSEcwgPKgAyzDadZzfQAWTZFTQjN61RgtXR6eyoAJ0aziFDVFo0WRlEwacorGhcbgPPrCRrxGBVNw" +
	"gGOJo4kIeASB0Zw/iGDoym6dobh2XpiDWJo5HMd56h6dxjlICIEhQDQmDOIZUmQZZlAADpYHIEQ3nUGgNhCEIhAkawamAAAYEWRAGB2bA2EqYg2AyA4glgPgSgQYRIEI" +
	"FoEmEeBWBiBphFAAgPDwDgDEycQ4A0Q5IwkDwjgyWA8k4SIsmUNoPEOFJbD0DhjHINA3E8Q4eDiDojhiYJmg+Ixokic4LmKQxiCkNk2CCX4DmGaA0nAN4NBiDJSDwTgT" +
	"Eycg4E0WIYlcPJiiiMJZhCTYpgCcw5g2OYOGWGQmCkEJkheYopGoVw1GSGQuA2ExIlOQJcDOZJzEDSJNBiAgiU4Q5GCeChNHkHJygsaBzGaCYimiCY0mMNZoCMWhUDUJ" +
	"5pkYTIDk6YxwkwO5NlMOoch6JQJm4U4JCIMxWFSKbCBoKIgmJDAuDgKhohKIoTk0GhaHOJgNiMKJuDaaYzHCTYnAyaZmjSKIiDiCghjEYg6AaR4yk0OpOiFSQLAKNgjG" +
	"cQ40lkMhOmqZo7DKTpzG6Pw3CmYx2HiNAsCqBh8h6Z5bh6T4oC0G4Im+OAtlMNpTjUTYDCKVo2C3QBLi6a5bH6YY4EyehzAGO4wEwDoejwK5rnK95vDgPJsDWTBjjSWA" +
	"xnEK5aleNhriuawKi8Lp7H8HpHHGXBskyQpxguXwNgMTpDFiRZDnEExfBSPRvHuXwYkycYslae5NjMQwrDGNZxFyHINDsDRTBMKZKnKLIwm2S4xF0Jw8lKTIcm9eA0hy" +
	"QwuksM5jiyVQwnQDQIlaVo0EyLwQlGcRNCME5EjKfYXGSWEhDMQ5QnOahHG6KwoFOCoFiOaBNlcdIjiQag7HOL0dwuxKC1aeNQI4BQihNDoEwXowxmh8CIL8Yg8ROBfA" +
	"SMcaIOR6CHBkMgLgrwUjLHkHMG4NQaBzE4MQaIyw5gxEsH0Dw9FBBNA6PUDoLwpjTHqF0N4WQShSHgGwcY2RkhdFCL8bYdwOivDqNse4fRnh5G+PYEgaR1B0E4B4D4ix" +
	"xB4G8E8SI5R8D+DeJUc4eRPB/EaJ8DwpwojDHUPofwtxYjtH2F4d4sx3j7E+AcXo8B9geFCNYOIHhfg/GmPQPoXw3jZHuPoX4hxuj1H8J8T43RPhDEgM8eo/B/iQGuPw" +
	"fxEh1guAIAwQAgCAg");
_ObjectSetProperty( g2antt , "BackColorLevelHeader", _ObjectGetProperty( g2antt , "BackColor"));
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 48");
	_ObjectSetProperty( chart , "OverviewVisible", 69890);
	_ObjectSetProperty( chart , "OverviewHeight", 32);
	_ObjectSetProperty( chart , "OverviewSelBackColor", 16777216);
	_ObjectSetProperty( chart , "OverviewBackColor", 16448250);
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Column");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Item 1"),"Task","1/2/2001","1/11/2001");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Item 2"),"Task","2/2/2001","2/11/2001");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Item 3"),"Task","3/2/2001","3/11/2001");
_ObjectCallMethod( g2antt , "EndUpdate");

1812
You've provided examples of how to create bars for each record of a MS Access table, however I would like to create a database connected Gantt that has multiple bars per item/resource. Could you please advise

// AddGroupItem event - Occurs after a new Group Item has been inserted to Items collection.
FUNCTION g2anttEvents_AddGroupItem(OBJECT g2antt, INT Item)
	OBJECT items;
	items = _ObjectGetProperty( g2antt , "Items");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,Item")
		_ObjectCallMethod(g2antt, "TemplatePut", items)
		_ObjectCallMethod(g2antt, "TemplatePut", Item)
		_ObjectCallMethod( items , "AddBar", Item,"Summary",_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(Item,2)"),_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(Item,4)"),"0");
		_ObjectCallMethod( items , "DefineSummaryBars", Item,"0",-3,"0");
		_ObjectCallMethod( items , "AddBar", Item,"SummaryB",_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(Item,2)"),_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(Item,4)"),"1");
		_ObjectCallMethod( items , "DefineSummaryBars", Item,"1",-3,"1");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBackColor(Item) = 15790320");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim Item")
	_ObjectCallMethod(g2antt, "TemplatePut", Item)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "Chart.ItemBackColor(Item) = 15790320");
END

// AddItem event - Occurs after a new Item has been inserted to Items collection.
FUNCTION g2anttEvents_AddItem(OBJECT g2antt, INT Item)
	OBJECT items;
	items = _ObjectGetProperty( g2antt , "Items");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,Item")
		_ObjectCallMethod(g2antt, "TemplatePut", items)
		_ObjectCallMethod(g2antt, "TemplatePut", Item)
		_ObjectCallMethod( items , "AddBar", Item,"Task",_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(Item,2)"),_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(Item,4)"),_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(Item,``,256)"));
		_ObjectCallMethod( items , "AddBar", Item,"TaskB",_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(Item,3)"),_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(Item,4)"),_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(Item,``,256)"));
END

// MouseDown event - Occurs when the user presses a mouse button.
FUNCTION g2anttEvents_MouseDown(OBJECT g2antt, INT Button, INT Shift, INT X, INT Y)
	' FullRowSelect = Columns(c).Data
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim c,hit")
	_ObjectCallMethod(g2antt, "TemplatePut", c)
	_ObjectCallMethod(g2antt, "TemplatePut", hit)
	i = _ObjectCallMethod(g2antt, "ExecuteTemplate", "ItemFromPoint(-1,-1,c,hit)");
END

OBJECT bar,chart,g2antt,rs;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "ScrollBySingleLine", -1);
_ObjectSetProperty( g2antt , "HeaderHeight", 22);
_ObjectSetProperty( g2antt , "HeaderAppearance", 1);
_ObjectSetProperty( g2antt , "BackColorLock", 15790320);
_ObjectSetProperty( g2antt , "BackColorHeader", _ObjectGetProperty( g2antt , "BackColorLock"));
_ObjectSetProperty( g2antt , "HasLines", 0);
_ObjectSetProperty( g2antt , "ColumnAutoResize", 0);
_ObjectSetProperty( g2antt , "SortBarVisible", 0);
_ObjectSetProperty( g2antt , "AllowGroupBy", -1);
_ObjectSetProperty( g2antt , "ReadOnly", -1);
_ObjectSetProperty( g2antt , "ShowFocusRect", 0);
_ObjectSetProperty( g2antt , "CountLockedColumns", 1);
_ObjectSetProperty( g2antt , "AutoDrag", 16);
_ObjectSetProperty( g2antt , "SingleSort", 0);
_ObjectSetProperty( g2antt , "ColumnsAllowSizing", -1);
_ObjectSetProperty( g2antt , "DrawGridLines", -1);
_ObjectSetProperty( g2antt , "GridLineStyle", 48);
_ObjectSetProperty( g2antt , "GridLineColor", 14474460);
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "FirstVisibleDate", "9/1/1994");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 256");
	bar = _ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Bars.Item(`Task`)");
		_ObjectSetProperty( bar , "Height", 15);
		_ObjectSetProperty( bar , "Color", 8421504);
		_ObjectSetProperty( bar , "StartColor", 52428);
		_ObjectSetProperty( bar , "EndColor", _ObjectGetProperty( bar , "StartColor"));
		_ObjectSetProperty( bar , "OverlaidType", 3);
		_ObjectSetProperty( bar , "OverlaidGroup", "Task,TaskB");
		_ObjectSetProperty( bar , "Pattern", 96);
	bar = _ObjectCallMethod( _ObjectGetProperty( chart , "Bars") , "Copy", "Task","TaskB");
		_ObjectSetProperty( bar , "Color", 8421504);
		_ObjectSetProperty( bar , "StartColor", 39321);
		_ObjectSetProperty( bar , "EndColor", _ObjectGetProperty( bar , "StartColor"));
	bar = _ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Bars.Item(`Summary`)");
		_ObjectSetProperty( bar , "OverlaidType", 3);
		_ObjectSetProperty( bar , "OverlaidGroup", "Summary,SummaryB");
		_ObjectSetProperty( bar , "Color", 52428);
		_ObjectSetProperty( bar , "StartColor", _ObjectGetProperty( bar , "Color"));
		_ObjectSetProperty( bar , "EndColor", _ObjectGetProperty( bar , "Color"));
	bar = _ObjectCallMethod( _ObjectGetProperty( chart , "Bars") , "Copy", "Summary","SummaryB");
		_ObjectSetProperty( bar , "Color", 39321);
		_ObjectSetProperty( bar , "StartColor", _ObjectGetProperty( bar , "Color"));
		_ObjectSetProperty( bar , "EndColor", _ObjectGetProperty( bar , "Color"));
_ObjectSetProperty( g2antt , "BackColorSortBar", _ObjectGetProperty( g2antt , "BackColor"));
_ObjectSetProperty( g2antt , "ColumnAutoResize", 0);
rs = CreateObject("ADOR.Recordset");
	_ObjectCallMethod( rs , "Open", "Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExG2antt\Sample\Access\misc.accdb",3,3);
_ObjectSetProperty( g2antt , "DataSource", rs);
_ObjectSetProperty( g2antt , "Debug", -1);
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Item(0).Data = -1");
_ObjectSetProperty( g2antt , "Layout", "singlesort=^"C5:1^";multiplesort=^" C1:2^"");
_ObjectCallMethod( g2antt , "EndUpdate");

1811
How can I filter for multiple captions on a single column, using OR clause

OBJECT column,columns,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "ColumnAutoResize", -1);
_ObjectSetProperty( g2antt , "ContinueColumnScroll", 0);
_ObjectSetProperty( g2antt , "MarkSearchColumn", -1);
_ObjectSetProperty( g2antt , "SearchColumnIndex", 1);
_ObjectSetProperty( g2antt , "FilterBarPromptVisible", -1);
columns = _ObjectGetProperty( g2antt , "Columns");
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "Name") , "Width", 96);
	column = _ObjectCallMethod( columns , "Add", "Title");
		_ObjectSetProperty( column , "Width", 96);
	_ObjectCallMethod( columns , "Add", "City");
items = _ObjectGetProperty( g2antt , "Items");
	h0 = _ObjectCallMethod( items , "AddItem", "Nancy Davolio");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h0")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h0)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h0,1) = `Sales Representative`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h0,2) = `Seattle`");
	h0 = _ObjectCallMethod( items , "AddItem", "Andrew Fuller");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h0,1) = `Vice President, Sales`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h0,2) = `Tacoma`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.SelectItem(h0) = True");
	h0 = _ObjectCallMethod( items , "AddItem", "Janet Leverling");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h0,1) = `Sales Representative`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h0,2) = `Kirkland`");
	h0 = _ObjectCallMethod( items , "AddItem", "Margaret Peacock");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h0,1) = `Sales Representative`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h0,2) = `Redmond`");
	h0 = _ObjectCallMethod( items , "AddItem", "Steven Buchanan");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h0,1) = `Sales Manager`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h0,2) = `London`");
	h0 = _ObjectCallMethod( items , "AddItem", "Michael Suyama");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h0,1) = `Sales Representative`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h0,2) = `London`");
	h0 = _ObjectCallMethod( items , "AddItem", "Robert King");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h0,1) = `Sales Representative`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h0,2) = `London`");
	h0 = _ObjectCallMethod( items , "AddItem", "Laura Callahan");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h0,1) = `Inside Sales Coordinator`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h0,2) = `Seattle`");
	h0 = _ObjectCallMethod( items , "AddItem", "Anne Dodsworth");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h0,1) = `Sales Representative`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h0,2) = `London`");
_ObjectSetProperty( g2antt , "FilterBarPromptColumns", "1");
_ObjectSetProperty( g2antt , "FilterBarPromptPattern", "Vice Inside");
_ObjectSetProperty( g2antt , "FilterBarPromptType", 2);
_ObjectCallMethod( g2antt , "EndUpdate");

1810
How can I filter for multiple captions on a single column, using AND clause

OBJECT column,columns,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "ColumnAutoResize", -1);
_ObjectSetProperty( g2antt , "ContinueColumnScroll", 0);
_ObjectSetProperty( g2antt , "MarkSearchColumn", -1);
_ObjectSetProperty( g2antt , "SearchColumnIndex", 1);
_ObjectSetProperty( g2antt , "FilterBarPromptVisible", -1);
columns = _ObjectGetProperty( g2antt , "Columns");
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "Name") , "Width", 96);
	column = _ObjectCallMethod( columns , "Add", "Title");
		_ObjectSetProperty( column , "Width", 96);
	_ObjectCallMethod( columns , "Add", "City");
items = _ObjectGetProperty( g2antt , "Items");
	h0 = _ObjectCallMethod( items , "AddItem", "Nancy Davolio");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h0")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h0)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h0,1) = `Sales Representative`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h0,2) = `Seattle`");
	h0 = _ObjectCallMethod( items , "AddItem", "Andrew Fuller");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h0,1) = `Vice President, Sales`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h0,2) = `Tacoma`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.SelectItem(h0) = True");
	h0 = _ObjectCallMethod( items , "AddItem", "Janet Leverling");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h0,1) = `Sales Representative`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h0,2) = `Kirkland`");
	h0 = _ObjectCallMethod( items , "AddItem", "Margaret Peacock");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h0,1) = `Sales Representative`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h0,2) = `Redmond`");
	h0 = _ObjectCallMethod( items , "AddItem", "Steven Buchanan");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h0,1) = `Sales Manager`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h0,2) = `London`");
	h0 = _ObjectCallMethod( items , "AddItem", "Michael Suyama");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h0,1) = `Sales Representative`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h0,2) = `London`");
	h0 = _ObjectCallMethod( items , "AddItem", "Robert King");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h0,1) = `Sales Representative`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h0,2) = `London`");
	h0 = _ObjectCallMethod( items , "AddItem", "Laura Callahan");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h0,1) = `Inside Sales Coordinator`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h0,2) = `Seattle`");
	h0 = _ObjectCallMethod( items , "AddItem", "Anne Dodsworth");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h0,1) = `Sales Representative`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h0,2) = `London`");
_ObjectSetProperty( g2antt , "FilterBarPromptColumns", "1");
_ObjectSetProperty( g2antt , "FilterBarPromptPattern", "Vice Sales");
_ObjectSetProperty( g2antt , "FilterBarPromptType", 1);
_ObjectCallMethod( g2antt , "EndUpdate");

1809
How can I display the limits/margins of the project, in the overview part of the control

OBJECT chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "VisualAppearance") , "Add", 1,"gBFLBCJwBAEHhEJAAEhABVADg6AADACAxSDEMQBQKAAzQFAYbhgHCGAAGUYBRgmFgAQhFcZQSBcEgTDaMYzgMBYJhEMQyDSAUIjPEyMg0DjIIwgJIUaw0GSXIRkGQZC" +
	"hGJooTJQMrTZIEbQxHSkIyRVTmZACS5NRZPYy0FAkQhlFSbJBCOKwVomR5KUxTVg1DJwahLCKULLhGI7KgObIRSJOcZ1XAdCQ0cB0XpAC6LaqSA4nSjKcqwJKEZRJIyj" +
	"JwgSrrWhePoJYBVAAQPQdDYaCivK5uWK6PqKUIlZBQGQVNS1MRrLSEcwgPKgAyzDadZzfQAWTZFTQjN61RgtXR6eyoAJ0aziFDVFo0WRlEwacorGhcbgPPrCRrxGBVNw" +
	"gGOJo4kIeASB0Zw/iGDoym6dobh2XpiDWJo5HMd56h6dxjlICIEhQDQmDOIZUmQZZlAADpYHIEQ3nUGgNhCEIhAkawamAAAYEWRAGB2bA2EqYg2AyA4glgPgSgQYRIEI" +
	"FoEmEeBWBiBphFAAgPDwDgDEycQ4A0Q5IwkDwjgyWA8k4SIsmUNoPEOFJbD0DhjHINA3E8Q4eDiDojhiYJmg+Ixokic4LmKQxiCkNk2CCX4DmGaA0nAN4NBiDJSDwTgT" +
	"Eycg4E0WIYlcPJiiiMJZhCTYpgCcw5g2OYOGWGQmCkEJkheYopGoVw1GSGQuA2ExIlOQJcDOZJzEDSJNBiAgiU4Q5GCeChNHkHJygsaBzGaCYimiCY0mMNZoCMWhUDUJ" +
	"5pkYTIDk6YxwkwO5NlMOoch6JQJm4U4JCIMxWFSKbCBoKIgmJDAuDgKhohKIoTk0GhaHOJgNiMKJuDaaYzHCTYnAyaZmjSKIiDiCghjEYg6AaR4yk0OpOiFSQLAKNgjG" +
	"cQ40lkMhOmqZo7DKTpzG6Pw3CmYx2HiNAsCqBh8h6Z5bh6T4oC0G4Im+OAtlMNpTjUTYDCKVo2C3QBLi6a5bH6YY4EyehzAGO4wEwDoejwK5rnK95vDgPJsDWTBjjSWA" +
	"xnEK5aleNhriuawKi8Lp7H8HpHHGXBskyQpxguXwNgMTpDFiRZDnEExfBSPRvHuXwYkycYslae5NjMQwrDGNZxFyHINDsDRTBMKZKnKLIwm2S4xF0Jw8lKTIcm9eA0hy" +
	"QwuksM5jiyVQwnQDQIlaVo0EyLwQlGcRNCME5EjKfYXGSWEhDMQ5QnOahHG6KwoFOCoFiOaBNlcdIjiQag7HOL0dwuxKC1aeNQI4BQihNDoEwXowxmh8CIL8Yg8ROBfA" +
	"SMcaIOR6CHBkMgLgrwUjLHkHMG4NQaBzE4MQaIyw5gxEsH0Dw9FBBNA6PUDoLwpjTHqF0N4WQShSHgGwcY2RkhdFCL8bYdwOivDqNse4fRnh5G+PYEgaR1B0E4B4D4ix" +
	"xB4G8E8SI5R8D+DeJUc4eRPB/EaJ8DwpwojDHUPofwtxYjtH2F4d4sx3j7E+AcXo8B9geFCNYOIHhfg/GmPQPoXw3jZHuPoX4hxuj1H8J8T43RPhDEgM8eo/B/iQGuPw" +
	"fxEh1guAIAwQAgCAg");
_ObjectSetProperty( g2antt , "BackColorLevelHeader", _ObjectGetProperty( g2antt , "BackColor"));
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 48");
	_ObjectSetProperty( chart , "OverviewVisible", 31746);
	_ObjectSetProperty( chart , "OverviewHeight", 64);
	_ObjectSetProperty( chart , "OverviewSelBackColor", 16777216);
	_ObjectSetProperty( chart , "OverviewBackColor", 16448250);
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Column");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Item 1"),"Task","1/2/2001","1/11/2001");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Item 2"),"Task","2/2/2001","2/11/2001");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Item 3"),"Task","3/2/2001","3/11/2001");
_ObjectCallMethod( g2antt , "EndUpdate");

1808
Is it possible to display a time-scale for the overview part of the control (separated)

OBJECT chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "BackColorLevelHeader", _ObjectGetProperty( g2antt , "BackColor"));
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 48");
	_ObjectSetProperty( chart , "OverviewVisible", 5122);
	_ObjectSetProperty( chart , "OverviewHeight", 48);
	_ObjectSetProperty( chart , "LevelCount", 2);
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Column");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Item 1"),"Task","1/2/2001","1/11/2001");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Item 2"),"Task","2/2/2001","2/11/2001");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Item 3"),"Task","3/2/2001","3/11/2001");
_ObjectCallMethod( g2antt , "EndUpdate");

1807
Is it possible to display a time-scale for the overview part of the control

OBJECT chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "BackColorLevelHeader", _ObjectGetProperty( g2antt , "BackColor"));
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 48");
	_ObjectSetProperty( chart , "OverviewVisible", 4098);
	_ObjectSetProperty( chart , "LevelCount", 2);
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Column");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Item 1"),"Task","1/2/2001","1/11/2001");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Item 2"),"Task","2/2/2001","2/11/2001");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Item 3"),"Task","3/2/2001","3/11/2001");
_ObjectCallMethod( g2antt , "EndUpdate");

1806
How can I display the time-scale only, in the overview part of the control

OBJECT chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "BackColorLevelHeader", _ObjectGetProperty( g2antt , "BackColor"));
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 48");
	_ObjectSetProperty( chart , "OverviewVisible", 4610);
	_ObjectSetProperty( chart , "LevelCount", 2);
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Column");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Item 1"),"Task","1/2/2001","1/11/2001");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Item 2"),"Task","2/2/2001","2/11/2001");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Item 3"),"Task","3/2/2001","3/11/2001");
_ObjectCallMethod( g2antt , "EndUpdate");

1805
How can I detect that the mouse pointer is within an InsideZoom object
// MouseMove event - Occurs when the user moves the mouse.
FUNCTION g2anttEvents_MouseMove(OBJECT g2antt, INT Button, INT Shift, INT X, INT Y)
	OBJECT chart;
	chart = _ObjectGetProperty( g2antt , "Chart");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
		_ObjectCallMethod(g2antt, "TemplatePut", chart)
		d = _ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.DateFromPoint(-1,-1)");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim _ObObj,d")
		_ObjectCallMethod(g2antt, "TemplatePut", _ObjectGetProperty( chart , "InsideZooms"))
		_ObjectCallMethod(g2antt, "TemplatePut", d)
		iz = _ObjectCallMethod(g2antt, "ExecuteTemplate", "_ObObj.Contains(d)");
		Message( d );
		Message( "If the iz object is nothing, the date is not zoomed, else it is." );
		Message( iz );
END

OBJECT chart,g2antt;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(0) = 0");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "FirstWeekDay", 1);
	_ObjectSetProperty( chart , "AllowInsideZoom", -1);
	_ObjectCallMethod( _ObjectGetProperty( chart , "InsideZooms") , "Add", "1/10/2001");
_ObjectCallMethod( g2antt , "EndUpdate");

1804
Is it possible to word-wrap text/caption on the bar, so it gets displayed on multiple lines

OBJECT bar,chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "ScrollBySingleLine", -1);
_ObjectSetProperty( g2antt , "ItemsAllowSizing", -1);
_ObjectSetProperty( g2antt , "DrawGridLines", 1);
_ObjectSetProperty( g2antt , "HeaderHeight", 28);
_ObjectSetProperty( g2antt , "DefaultItemHeight", 24);
_ObjectSetProperty( g2antt , "BackColorLevelHeader", _ObjectGetProperty( g2antt , "BackColor"));
_ObjectSetProperty( g2antt , "HeaderAppearance", 5);
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Tasks");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 128");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	_ObjectSetProperty( chart , "DrawGridLines", 1);
	bar = _ObjectCallMethod( _ObjectGetProperty( chart , "Bars") , "Copy", "Task","TaskB");
		_ObjectSetProperty( bar , "Height", 15);
		_ObjectSetProperty( bar , "Pattern", 32);
		_ObjectSetProperty( bar , "StartColor", 16771276);
		_ObjectSetProperty( bar , "EndColor", _ObjectGetProperty( bar , "StartColor"));
		_ObjectSetProperty( bar , "Color", 16711680);
	bar = _ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Bars.Item(`Task`)");
		_ObjectSetProperty( bar , "Height", -1);
		_ObjectSetProperty( bar , "Pattern", 32);
		_ObjectSetProperty( bar , "StartColor", 16771276);
		_ObjectSetProperty( bar , "EndColor", _ObjectGetProperty( bar , "StartColor"));
		_ObjectSetProperty( bar , "Color", 16711680);
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Word-Wrap Inside");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/9/2001","1/13/2001","A1");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`A1`,53) = `none[(2,2,100%-4,100%-4),text=`This is a bit of text that should break the line`,wordwrap]`");
	h = _ObjectCallMethod( items , "AddItem", "Word-Wrap Inside");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/5/2001","1/19/2001","A2");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`A2`,53) = `none[(2,2,100%-4,100%-4),align=0x11,text=`This is a bit of text that should break the line`,wordwrap]`");
	h = _ObjectCallMethod( items , "AddItem", "Word-Wrap Back");
	_ObjectCallMethod( items , "AddBar", h,"TaskB","1/9/2001","1/13/2001","A3");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`A3`,53) = `client[align=0x11,text=`This is a bit of text that should break the line`,wordwrap]`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`A3`,54) = 2");
_ObjectCallMethod( g2antt , "EndUpdate");

1803
Can I set the search box / filterbarprompt to invisible, so I can use my own input and *string* via VBA
OBJECT columns,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "ColumnAutoResize", -1);
_ObjectSetProperty( g2antt , "ContinueColumnScroll", 0);
_ObjectSetProperty( g2antt , "MarkSearchColumn", 0);
_ObjectSetProperty( g2antt , "SearchColumnIndex", 1);
_ObjectSetProperty( g2antt , "FilterBarHeight", 0);
_ObjectSetProperty( g2antt , "FilterBarPromptVisible", -1);
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Chart.PaneWidth(True) = 0");
columns = _ObjectGetProperty( g2antt , "Columns");
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "Name") , "Width", 96);
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "Title") , "Width", 96);
	_ObjectCallMethod( columns , "Add", "City");
items = _ObjectGetProperty( g2antt , "Items");
	h0 = _ObjectCallMethod( items , "AddItem", "Nancy Davolio");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h0")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h0)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h0,1) = `Sales Representative`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h0,2) = `Seattle`");
	h0 = _ObjectCallMethod( items , "AddItem", "Andrew Fuller");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h0,1) = `Vice President, Sales`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h0,2) = `Tacoma`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.SelectItem(h0) = True");
	h0 = _ObjectCallMethod( items , "AddItem", "Janet Leverling");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h0,1) = `Sales Representative`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h0,2) = `Kirkland`");
	h0 = _ObjectCallMethod( items , "AddItem", "Margaret Peacock");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h0,1) = `Sales Representative`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h0,2) = `Redmond`");
	h0 = _ObjectCallMethod( items , "AddItem", "Steven Buchanan");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h0,1) = `Sales Manager`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h0,2) = `London`");
	h0 = _ObjectCallMethod( items , "AddItem", "Michael Suyama");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h0,1) = `Sales Representative`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h0,2) = `London`");
	h0 = _ObjectCallMethod( items , "AddItem", "Robert King");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h0,1) = `Sales Representative`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h0,2) = `London`");
	h0 = _ObjectCallMethod( items , "AddItem", "Laura Callahan");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h0,1) = `Inside Sales Coordinator`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h0,2) = `Seattle`");
	h0 = _ObjectCallMethod( items , "AddItem", "Anne Dodsworth");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h0,1) = `Sales Representative`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h0,2) = `London`");
_ObjectSetProperty( g2antt , "FilterBarPromptPattern", "London");
_ObjectCallMethod( g2antt , "EndUpdate");

1802
How to load a hierarchy using the control's DataSource property (Parent-ID-Relation)

// AddItem event - Occurs after a new Item has been inserted to Items collection.
FUNCTION g2anttEvents_AddItem(OBJECT g2antt, INT Item)
	OBJECT items;
	items = _ObjectGetProperty( g2antt , "Items");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,Item")
		_ObjectCallMethod(g2antt, "TemplatePut", items)
		_ObjectCallMethod(g2antt, "TemplatePut", Item)
		_ObjectCallMethod( items , "SetParent", Item,_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.FindItem(CellValue(Item,`ReportsTo`),`EmployeeID`)"));
END

OBJECT g2antt,rs;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Chart.PaneWidth(True) = 0");
_ObjectSetProperty( g2antt , "LinesAtRoot", -1);
_ObjectSetProperty( g2antt , "ColumnAutoResize", 0);
_ObjectSetProperty( g2antt , "ContinueColumnScroll", 0);
rs = CreateObject("ADOR.Recordset");
	_ObjectCallMethod( rs , "Open", "SELECT * FROM Employees ORDER BY ReportsTo","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExG2antt\Sample\Access\misc.accdb",3,3);
_ObjectSetProperty( g2antt , "DataSource", rs);
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Items.ExpandItem(0) = True");
_ObjectCallMethod( g2antt , "EndUpdate");

1801
How can I highlight the limits/margins of a summary bar, according with the child bars

OBJECT appearance,chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
appearance = _ObjectGetProperty( g2antt , "VisualAppearance");
	_ObjectCallMethod( appearance , "Add", 1,"gBFLBCJwBAEHhEJAAEhABRkIQAAYAQGKQYhiAKBQAGaAoDDcMA4QwAAyjhwkAIIQK/cZRPC0Ow8GSEZAgOKIch6FgCQjEIxDKIsVRZEiDYRmGLpIiOJoWSQBUIyJKoA" +
	"Q0f6fIziaTpNiGL4yTBPMzyJRcEx1GyBZ5negaAo2AwIQiUBomGahajkMqZQAJaCSCI2Y4eDZCIoTXR1WAxDq3ZruKpLUpOc4DOrEMIwCEBA=");
	_ObjectCallMethod( appearance , "Add", 2,"CP:1 -4 0 5 0");
	_ObjectCallMethod( appearance , "Add", 3,"gBFLBCJwBAEHhEJAAEhABOMGACAADACAxSDEMQBQKAAzQFAYbhgHCGAAGUYBRgmFgAQhFcZQSKUOQTDKMIziYBYJhEMQyDAAUIjOKsIhkGYcZAGQBJCjWGodQRHc5TN" +
	"CMTRRECDY4kAYpAiKRYbSpAcyQHQ8bQtHwYKAoOg6JjWIAHRqCMI0XINHQ3FwaRJsCwoJhOZIDWZENDQTSsLSxJSkIRfe4wArNf4XVBVMqSdKEZRJLybJwADApAo2eIl" +
	"QjJdQ4TSdBSdQwDLYhECpbwCT6JT7jGLQJZsNyvBLIYDrKA8UozFqHQRYNhxDZNShhM6rMigPQQAq8AKlRbVNzXLamLwHRS9BpoORhUjHD4bVxVOyaPpAAaBFbhI44QZ" +
	"OHYNYfjgaI0BySp8HMVZdlgaxtBqexWkqOw1lGbZzlwfQ0AwYR/gka5FiMGpgkQYYviGV4kBUWpmlsaYGHMEgACECQUAaEYMHQHRHCGFRBECRJkGQQgTGCVBoDYQhCgQ" +
	"JZoG4EIAGEFwGB+dwxHaB5iAabReggYhGnUToJGIRgCCiCBdjiNguGmYo4gIKoMGIKIeDSCYTGiXg4EITo3hAiJAICA==");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Task");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 128");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Bars.Item(`Summary`).Color = 50331648");
items = _ObjectGetProperty( g2antt , "Items");
	hSummary = _ObjectCallMethod( items , "AddItem", "Summary");
	_ObjectCallMethod( items , "AddBar", hSummary,"Summary","1/2/2001","1/2/2001","");
	hTask = _ObjectCallMethod( items , "InsertItem", hSummary,"","Task A");
	_ObjectCallMethod( items , "AddBar", hTask,"Task","1/2/2001","1/5/2001","K1");
	hTask = _ObjectCallMethod( items , "InsertItem", hSummary,"","Task B");
	_ObjectCallMethod( items , "AddBar", hTask,"Task","1/4/2001","1/8/2001","K2");
	hTask = _ObjectCallMethod( items , "InsertItem", hSummary,"","Task C");
	_ObjectCallMethod( items , "AddBar", hTask,"Task","1/6/2001","1/10/2001","K3");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,hSummary")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", hSummary)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ExpandItem(hSummary) = True");
	_ObjectCallMethod( items , "DefineSummaryBars", hSummary,"",-1,"<*>");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(hSummary,``,34) = 33554432");
_ObjectCallMethod( g2antt , "EndUpdate");